Key Points
Introduction
Issues
- Issues are a way of recording bugs or feature requests.
- Issues can be categorised by type.
- Issues can reference other issues, and be referenced by commits.
Project Management
- Projects are broken-down into self-contained tasks.
- Tasks are represented as cards on a board.
- Cards are arranged to show their status.
- Issues can be added to project boards and labelled.
- Project boards can show the priority of their tasks.
- Forks are copies of entire repositories that can be synced up with the original.
Release Management
- Releases are stable versions of the code.
- Zenodo can automatically generate DOIs for releases.
- Software licenses can restrict what others can do with your code.
Writing Sustainable Code
- Always assume that someone else will read your code at a later date, including yourself.
- Rename variables and functions to add context to make your code more readable.
- Add comments to explain why something was done in a certain way if not obvious.
- Don’t add comments that just restate what code clearly already does.
- Use docstrings at the start of functions and files to explain their behaviour and input/output parameters.
Managing a Mini-Project
- Problems with code and documentation can be tracked as issues.
- Issues can be managed on a project board.
- Issues can be fixed using the feature-branch workflow.
- Stable versions of the code can be published as releases.