In well characterized problem domains, DoTheSimplestThingThatCouldPossiblyWork
works very well. In poorly characterized ones, such as research domains, it equates with a random walk, which is indeed the stupidest thing ...
So you have real experience with DoSimpleThings in a real ComputerScience research environment? Do tell! --PhlIp
In a domain where the solution space where there's no accepted body of successful solutions, why would a random walk be bad?
It's more likely to get you somewhere good than, for example, sitting on your duff.
Keep it stupid, as stupid as possible. But no more stupid.
KISS = "Keep It Stupid, Simple!"
This may be an overstupification. Indeed it is. Is OccamsRazor no longer useful in scientific domains?
Um, relevance? Exactly.
Most domains that programmers work in today are well-characterized ones. Many of us aren't so fortunate as to work in high-fangled fields such as AI and compilers and such; we work on payroll systems and spell-checkers and document management. So DTSTTCPW seems appropriate, most of the time.
I'm not clever enough to work out the simplest thing
I just do the stupidest thing.
You forgot "that could possibly work"
No, no, I just do the stupidest thing.
I've been toying with the idea that DoTheSimplestThingThatCouldPossiblyWork
could be phrased as DoTheStupidestThingThatCouldPossiblyWork
, and given that you put all your "intelligence" into testing, they'd end up being the same thing.
sounds like "disengage your brain" to me, which doesn't produce good results even when using TestDrivenDevelopment
. Interestingly, I find that TestDrivenDevelopment
more easily leads to DisengageYourBrain?
because it feels like everything happens automatically. But if you do that, you won't refactor when you're supposed to, you won't think of all the tests you need to, and you won't produce good code. (I'm not directing this specifically at you, Jeff -- your statement just inspired these thoughts.) --JimLittle
[I can see "disengage your brain" for "do a stupid thing...", but doing the *stupidest* thing (that still might possibly work) sounds like it takes a bit of thought.]