Skip to content

Latest commit

 

History

History
35 lines (23 loc) · 1.35 KB

dev-principles.md

File metadata and controls

35 lines (23 loc) · 1.35 KB

Development Principles & Standards

from owenoak's oakjs project


Architecture Principles

  • Shift Happens

Things change -- the best decision made a year ago may not be the best decision now. The system is designed so that pieces can be swapped out without affecting other systems.

  • Principle of Hackability

The system is designed so that if it's easier for you to write a command line tool to do something, you can -- without anyone being the wiser.

  • Principle of Simplicity

Do the simplest thing that could possibly work. One of the hallmarks of a good design is that there's nothing that could be taken away and have it still work. If you have to make lots of rules and exceptions to get a technology to integrate, you're doing it wrong.

  • Don't re-invent the wheel...

...without an extremely good reason

  • Embrace, don't Replace

  • Give developers lots of rope

And make sure that they know they've been handed the rope.

  • Remove Barriers to Adoption Whenever Possible

  • D.R.Y.

The developer should never have to repeat themselves. That is to say, once something has been said, it must not be said again.

  • Write the same code you'd write by hand


Coding Standards