I tried to understand some code from a contractor today. It was awful. Really, really, really bad. Terrible. No, worse, words barely manage to describe its grotesquely overbearing design. Wailing and gnashing of teeth is nearer the mark. I survived this though... somehow I lived to tell the tale... I still dream -- and shudder while I dream -- of many tentacled creatures from an alien sphere... but I did live.
Then I opened up the second batch of code. I tried, really tried, to understand it. I pulled out every trick in the book but I couldn't for the life of me work out where best to put that little debugging statement that would suddenly make everything dissolve into the realm of the obvious. I gave up. Well, no, I cheated. I solved my problem, and made the bad, naughty code go away and stop bullying the nice computers.
You know your code's gone bad when it's easier to rewrite it by reverse engineering a packed binary file format, than it is to understand it by thought alone.