This document can be found at http://npxdesigns.com/guidelines/
Dear colleague,
Here are some guidelines which I strive to adhere to when doing software development, which I ask you to adopt as well for the sake of consistency and for providing the best outcomes both for NPX Designs and for our clients.
Though I’m not a maniac about it, I try to write unit tests first when possible, then write the code which passes those tests. This provides enormous security and freedom to refactor when needed, while encouraging modularity. Python doctests help make this practice straightforward and easy.
End-user documentation is clearly important, but so is inline documentation (docstrings). The docstrings you write plus your unit tests will go a great way towards documenting the inner workings of the systems we create.
Code should pass all unit tests before committing. More testing is better — if you’ve added a feature, test it end-to-end whenever practical before committing. Don’t use the repository for moving code from one machine to another.
Try to restrict your work to one issue per commit whenever possible. Every commit must have an issue (even if you make the ticket at the last minute just before committing). Issue number and title should go in every commit.
Cut and paste your commit logs into the issue you’re addressing. This makes it easier to find out exactly what changed in a given release or for a given issue.
See this article for definition of technical debt. Look for opportunities to clean up design weaknesses whenever possible. If you don’t have time to actually deal with the problem, file yourself (or someone else) an issue. This applies when you read someone else’s code — we watch each others’ backs.
Please send your invoice promptly at the end of the month so I can produce the outgoing company invoice. Please give a short (1 paragraph to 1 page) summary of work done that month, along with any tickets resolved.
Not necessarily in that order.
As we work together, I would appreciate your frank feedback whenever you have some to give.
Thanks for reading, let’s do great stuff together.
John