Skip to content

Instantly share code, notes, and snippets.

@AustinMatherne
Created September 4, 2013 23:22
Show Gist options
  • Save AustinMatherne/6444142 to your computer and use it in GitHub Desktop.
Save AustinMatherne/6444142 to your computer and use it in GitHub Desktop.

Mighty Principles of Development

  1. Modularity: "Do one thing and do it well." Feature creep is the death of software.
  2. Simplicity: Complexity is the mother of all evil. Cleverness is not wisdom, it's a shortsighted indulgence.
  3. Clarity: Writing code is easy, reading code is hard. Easily grokked code is beautiful.
  4. Testability: Untested code is broken code. Never assume otherwise.
  5. Brevity: Write what is necessary to pass a test and nothing more. New requirements should be introduced to a code base through new tests.
  6. Futility: Don't optimize what you haven't measured. The bottleneck is usually somewhere else.
  7. Stupidity: From UIs to APIs, everything built is by definition designed. Design requires thought, so think before you type.
  8. Extensibility: Keep your code flexible, but do not cater to use cases that do not exist yet. They may never happen.
  9. Gullibility: Ship quickly and scrutinize your assumptions. Listen to, but do not blindly trust your instincts, they are often wrong.
  10. Honesty: You don't know everything. When you don't understand something, acknowledge it... then figure out how it works.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment