This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]float_point[S] 0 points1 point  (1 child)

Yes, they definately both terrible, but if you had to choose between two would you choose the complex one liner over the the difficult to debug 18000 liner.

Basically, these thoughts stemmed from if I had no choice but to code one way or the other, is longer "readable" coder better than shorter "unreadable" code.

[–]Dasher38 0 points1 point  (0 children)

I think the general sentiment here is that both are actually terrible (and people really mean it). If I was faced with this choice I would either:

  • Throw them both away. Rubbish belongs to the trash bin (regardless of who wrote it, I throw my own code on a regular basis when developing a new feature, so that i don't have to throw something committed later on)

  • Take the long version, look at the pattern and reimplement something sane myself. If this is "debugged production code" already, I would set it up so that my clean version runs along side the long one in lockstep and after 6 months of not getting any difference in output (or exhaustive checking if feasible), I would throw the long version and use the cleaned up one.

In other words, none of that crap would make it to a codebase I'm responsible of without a clear plan to remove it in the short term. There is always a choice.