|
|
|
|
|
by oftenwrong
2467 days ago
|
|
YAGNI, KISS Choose Boring Technology http://boringtechnology.club/ Build your system to be level-triggered as much as possible. Its default mode should be reconciliation: examining its current state and transforming that into the desired state, especially if the current state is "something went wrong". Build in dumb reconciliation before worrying about making it more real-time. The fewer moving parts, the better. Don't go multi-service architecture until you absolutely have to (see YAGNI, KISS). Keep your business logic contained, separated from everything else, in ONE place. If I open up your business logic code, I shouldn't see anything about persistence, the network, etc. Similarly, I shouldn't find any business logic in your other concerns. The business logic interacts with other concerns via abstractions. Be unforgiving when it comes to correctness guarantees. Use the type system as much as possible to make errors impossible. |
|