Think of your personal bank account experience
When in doubt, go for the simplest solution
Deposit and Withdrawal
Transfer
Account statement (date, amount, balance)
Statement printing
Statement filters (just deposits, withdrawal, date)
- One level of indentation per method
- Don’t use the ELSE keyword
- Wrap all primitives and Strings
- First class collections
- One dot per line
- Don’t abbreviate
- Keep all entities small (50 lines)
- No classes with more than two instance variables
- No getters/setters/properties