1.) Very long method
2.) Non descriptive variable names
3.) Variables are reused for different things throughout the method
4.) Lots of if/then exception cases
5.) Deeply nested Arrowhead code
6.) All data stored in Hashtable’s — and it’s this data that’s getting bamboozled somewhere
7.) Numbers that come out wrong
An unpleasant Friday afternoon.
I worked with a developer one time who took an inordinate amount of pride in his debugging prowess and ability to make bad code function. I could have really admired his ability if I hadn’t been so busy cursing him for the code I inherited from him. I think I’m getting more tolerant of other people as I get older, but less tolerant of bad code and code friction.
The next time I do greenfield development I promise to appreciate it.