CodeSOD: What For?
by Remy Porter from The Daily WTF on (#4ES9S)
Pretty much every language has many ways to do loops/iteration. for and while and foreach and do while and function application and recursion and"
It's just too many. Mike inherited some code which cleans up this thicket of special cases for iteration and just uses one pattern to solve every iteration problem.
// snip. Preceding code correctly sets $searchArray as an array of strings.$searchCount = count($searchArray);if ($searchCount > 0) {$checked = 0;while ($checked != $searchCount) {$thisOne = $searchArray[$checked];// snip 86 lines of code $checked++;}}
Gone are the difficult choices, like "should I use a for or a foreach?" and instead, we have just a while loop. And that was the standard pattern, all through the codebase. while(true) useWhile();, as it were.
[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!