This is Part 2 of 7 part series inspired from the book Pragmatic Programmer, read Part 1 here:
- Always Use Source Code Control: Source code control is a time machine for your work—you can go back.
- Don’t Panic When Debugging: Take a deep breath and THINK! about what could be causing the bug.
- Don’t Assume It—Prove It: Prove your assumptions in the actual environment—with real data and boundary conditions.
- Write Code That Writes Code: Code generators increase your productivity and help avoid duplication.
- Design with Contracts: Use contracts to document and verify that code does no more and no less than it claims to do.
- Use Assertions to Prevent the Impossible: Assertions validate your assumptions. Use them to protect your code from an uncertain world.
- Finish What You Start: Where possible, the routine or object that allocates a resource should be responsible for deallocating it.
- Configure, Don’t Integrate: Implement technology choices for an application as configuration options, not through integration or engineering.
- Analyze Workflow to Improve Concurrency: Exploit concurrency in your user’s workflow.
- Always Design for Concurrency: Allow for concurrency, and you’ll design cleaner interfaces with fewer assumptions.
Please read part 3 of 7 part series inspired from the book Pragmatic Programmer here.