67 lines
2.3 KiB
Markdown
67 lines
2.3 KiB
Markdown
This document outlines the process for developing and contributing to my own thesis project. By following these guidelines, this will ensure consistent quality and maintain a clear development history.
|
|
|
|
## Development Workflow
|
|
|
|
### 1. Issue Creation
|
|
Before working on any new feature, experiment, or bug fix:
|
|
- Create a GitHub issue using the appropriate template
|
|
- Assign it to myself
|
|
- Add relevant labels
|
|
- Link it to the project board if applicable
|
|
|
|
### 2. Branching Strategy
|
|
Use the following branch naming convention:
|
|
- `feature/<issue-number>-short-description`
|
|
- `bugfix/<issue-number>-short-description`
|
|
- `experiment/<issue-number>-short-description`
|
|
- `doc/<issue-number>-short-description`
|
|
|
|
Always branch from `main` for new features/experiments.
|
|
|
|
### 3. Development Process
|
|
- Make regular, atomic commits following the commit message template
|
|
- Include the issue number in commit messages (e.g., "#42")
|
|
- Push changes at the end of each work session
|
|
|
|
### 4. Code Quality
|
|
- Follow PEP 8 guidelines for Python code
|
|
- Document functions with docstrings
|
|
- Maintain test coverage for custom functions
|
|
- Keep notebooks clean and well-documented
|
|
|
|
### 5. Pull Requests
|
|
Even working alone, use PRs for significant changes:
|
|
- Create a PR from your feature branch to `main`
|
|
- Reference the issue(s) it resolves
|
|
- Include a summary of changes
|
|
- Self-review the PR before merging
|
|
|
|
### 6. Versioning
|
|
Follow semantic versioning:
|
|
- Major version: Significant thesis milestones or structural changes
|
|
- Minor version: New experiments, features, or chapters
|
|
- Patch version: Bug fixes and minor improvements
|
|
|
|
### 7. Documentation
|
|
Update documentation with each significant change:
|
|
- Keep README current
|
|
- Update function documentation
|
|
- Maintain clear experiment descriptions in notebooks
|
|
- Record significant decisions and findings
|
|
|
|
## LaTeX Guidelines
|
|
- Use consistent citation style
|
|
- Break long sections into multiple files
|
|
- Use meaningful label names for cross-references
|
|
- Consider using version-control friendly LaTeX practices (one sentence per line)
|
|
|
|
## Experiment Tracking
|
|
For each experiment:
|
|
- Create an issue documenting the experiment design
|
|
- Reference related papers and previous experiments
|
|
- Document parameters and results in the notebook
|
|
- Summarize findings in the issue before closing
|
|
|
|
## Commit Categories
|
|
Use the categories defined in the commit template to clearly classify changes.
|