- Rules of thumb, not dogma. Apply judgment when context doesn't fit the rule.
- Modular code. Each concern in its own module. Avoid monoliths.
- Prefer libraries and third-party tools when they're a good fit — don't reinvent the wheel.
- Use a unit test framework — tests are part of the work, not an afterthought.
- OOP and FP are both welcome. Use whichever fits the problem; mix freely when it makes sense.