• Building software is not just a matter of Programming but also about design, planning, testing, integration, optimization, organization and documentation.

  • Knowing how to properly construct software makes the programmer more productive and is reflective of their skill.

  • Knowing how to make the code clean makes documentation and understanding of the software easier. The quality of construction affects the quality of software.

  • Treating software construction as similar to building construction suggests that careful preparation is needed and illuminates the difference between large and small projects.

    • A well-planned project improves your ability to change your mind later about details
  • Thinking of software-development practices as tools in an intellectual toolbox suggests further that every programmer has many tools and that no single tool is right for every job. Choosing the right tool for each problem is one key to being an effective programmer.

  • If the anticipated performance gain doesn’t justify the bother of profiling the code to verify the improvement, it doesn’t justify the erosion in code quality either.

  • Don’t waste time scraping for incremental improvements until you know they’re needed.

Topics

Links