Incidential Complexity
-
Simplest, But No Simpler
There’s the idea that one should shy away from complexity. I think instead that one should shy away from Incidential Complexity. There’s always a certain amount of complexity in any particular solution, and that’s going to be the essential complexity. Embrace it, make it as easy as possible to handle, and it will serve you well. Trying to fight it by over simplifying will end up with a solution worse than embracing the necessary.
-
Logging
Faciliates Local Reasoning by not taking on non-local engineering concerns and avoiding Incidential Complexity
- Local Reasoning
-
Don’t Special Case Administrative Tasks
Avoids Incidential Complexity and subsequently increases Local Reasoning
-
Concurrency
Removes large sources of Incidential Complexity