Maintainability is our top priority. Less is more. Prefer simple over complex.
The goal is to make the code as if it was written by one person.
@return
and @param
can be omitted if they do not add value.Make sure the terminology used is understandable to users.
Everything you do for the project, even non-coding tasks, should be recorded in the issue tracker.
Use a descriptive issue name with a well-defined scope. Improve DevMan
is not good because the scope is not clear (improve in what way?). Add issue name convention to the DevMan
is a better name.
All ongoing work should be reflected in the tracker correctly. The issue tracker should clearly show which issues are being handled at the moment, which are ready for review, etc. Use status labels (s.*
) appropriately.
Resist the urge to do more than one task under one issue/PR unless they are tightly coupled and one cannot be done without the other. Specifically, do not do refactorings unrelated to the fix. Instead, create a new issue and do as a separate PR.
Reason: Occasionally we have to 'undo' fixes done previously, e.g. when we discover latent regressions introduced by that fix. Therefore, we should be able to undo any specific fix by reverting the merge commit of the relevant branch. If one branch merge brings in multiple fixes, we cannot undo one without the other.
Small issues are better than big ones. Big issues take longer to finish and have a higher risk of merge conflicts.
Go through your change set before pushing it. Ensure all changes are as intended.