3 ms·
> A part of a codebase can be complex (sometimes the problem that is being solved necessitates a complex algorithm / codebase) but yet well written. I tend to
by chriswarbo 12y ago
> A part of a codebase can be complex (sometimes the problem that is being solved necessitates a complex algorithm / codebase) but yet well written.
I tend to use the following terminology to distinguish necessary an unnecessary complexity:
| Easy Problem | Hard Problem
Easy Solution | Simple | Simplistic
Hard Solution | Complicated | Complex
- notduncansmith 12y agoIs a hard problem with an easy solution really a hard problem? A more accurate chart might look like this: | Simple Problem | Complex Problem Simple Solution | Easy | Elegant Complex Solution | Stupid | Necessary
- sbov 12y agoI think simplistic was meant to imply that it wasn't really a solution, just good enough for you. That said, you can say the same case for your matrix: if there's a simple solution to a complex problem that actually solves it, is it really a complex problem?
- notduncansmith 12y agoSure. "Complex" problems are problems with many facets/moving parts (I recommend watching the Rich Hickey talk "Simple Made Easy"). These problems can in some cases have simple (as in, few facets/moving parts) solutions, although those solutions may not be easy to implement.