This is a cynical, clinical collection of things Julio Biason learnt in 30 years working with software development.
“Without requirements or design, programming is the art of adding bugs to an empty text file.” – Louis Srygley
Sometimes, even an “elevator pitch” – up to two paragraphs that describe what the application does – is enough.
If you have no idea how to start, describe the flow of the application in high level, pure English/your language first. Then fill the spaces between comments with the code.
Very interesting list contains items like:
- Spec first, then code
- Write steps as comments
- Gherkin is your friend to understand expectations
- Unit tests are good, integration tests are better
- Tests make better APIs
- Make tests that you know how to run on the command line
- Be ready to throw your code away
- Future thinking is future trashing
- Don’t use Booleans as parameters
- Beware of interface changes
- If you know how to handle the issue, handle it
- Types say what you data is
… and much more.
When developers try to solve a problem, they sometimes try to find a way that will solve all the problems, including the ones that may appear in the future.
But here is the thing: The problems from the future will never come and you’ll end up either having to maintain a huge behemoth of code that will never be fully used or you’ll end up rewriting the whole thing ‘cause there is a shitton of unused stuff. Great advice!
[Read More]