|
|
|
|
|
by JamesBarney
2586 days ago
|
|
Yeah >write code that's easily understood
>write code where things are where they're expected to be
>write code that can be adjusted and extended quickly
>write code that can be adjusted and extended quickly without producing bugs
>write code that allows for implementations to be swapped out (think swapping out Email APIs, ORMs or web server frameworks) The problem is to further these goals they introduce abstraction and complexity which make the code harder to change, harder to reason about, harder to test. And a lot of times you end up taking one step forward but two steps back. |
|