Skip to content

Latest commit

 

History

History

README.md

The Pragmatic Programmer

Tip 1: Care about your craft

Tip 2: Think about your work

Kaizen: Japanese for continuously making small improvements

"When you see hoofprints, think horses - not zebras"

"They dont trust themselves, either"

Tip 33: If it cant happen, use assertions to ensure that it wont

Tip 38: Put abstractions in code, details in metadata

"With linear code, its easy to make assumptions that lead to sloppy programming"

"Dont be a slave to history. Dont let existing code dictate future code"

Want to cultivate a culture of testing

  • Many project failures are blamed on an increase in scope - also known as feature bloat
    • Track feature requirements
      • Just like code source control
  • Maintain a Project Glossary
  • Program specification is the process of taking a requirement and reducing it down to the point where a programmers skill can take over

"Civilization advances by extending the number of important operations we can perform without thinking"

  • Automate for the sake of repeatability and consistency

"The palest ink is better than the best memory"

  • Anonymity, especially on large projects, provides a breeding ground for:
    • Sloppiness
    • Mistakes
    • Sloth
    • Bad code