It reminds me of the quote, “if I had more time I would have written you a shorter letter”. Terse code is often better, because it is often developed using a process that only adds necessary things or was created by trial and error during the development process that isn’t included in the final output.
Lengthy code is often written because a person coded their misunderstandings, their ambiguities about the problem space, and their early failures at solving the problem into the code.
Complexity or “complexity”? A couple months ago I had to accept a merge from a junior developer that is now flagged as the code with the highest complexity in my code base. It was in Groovy and he must have just discovered closures. Instead of breaking up the code in nice modular testable blocks, it was massive methods hundreds of lines long, and the most egregious use of closures
It reminds me of the quote, “if I had more time I would have written you a shorter letter”. Terse code is often better, because it is often developed using a process that only adds necessary things or was created by trial and error during the development process that isn’t included in the final output.
Lengthy code is often written because a person coded their misunderstandings, their ambiguities about the problem space, and their early failures at solving the problem into the code.
True. However, in this case I believe this guy just had a weird admiration for complexity.
Complexity or “complexity”? A couple months ago I had to accept a merge from a junior developer that is now flagged as the code with the highest complexity in my code base. It was in Groovy and he must have just discovered closures. Instead of breaking up the code in nice modular testable blocks, it was massive methods hundreds of lines long, and the most egregious use of closures
Not necessarily closures, but it involved many dynamically generated lists of lambdas passed around through many layers of abstraction.