Code doesn't really annoy me any more by itself. We are all beginners after all. Attitude annoys me though
I had to work on some offshore code. Before the code was written we had shipped them a couple of libraries, a simple persistence library and a widget set. We asked them to use these rather than direct SQL access and to not use templates as the graphic designer and stakeholder was quite happy working the HTML with PHP widgets and CSS through a text editor. We would be separating the model from presentation after all, which is the main idea.
After shipping the libraries my role was ended, or so it was hoped. Some eight weeks later (a full four late) the site of sorts was delivered. It was just the same structure as previous sample code they had sent. It had templates and a wry comment to the effect that the previous developer (me) was a beginner for not doing it like this. Rather than use the widget classes to keep the state of the controls between requests, fields had been hand coded with random results. They also created a scripty class loader that required four files to load the one wanted. At the end of which a class for each page would be loaded that had a single method of 300-400 lines, with bits of printed HTML and hard coded SQL. No other classes! Add in the template system and a 10 page web project had become over 100 files.
To add just one extra page to the site (one that was missing) involved editing five files with zero reuse. It took me a whole day to figure out this mess and three more to fix the bugs. When we asked them to explain this curious set-up I was told that the developer gave lectures at a university and it was obviously too clever for us. Over the next hour several unsolicited insulting e-mails followed to the stakeholder (who I was sitting next to) that I was unprofessional to be editing code I didn't understand. Classic.
Determined ignorance...hmm...that annoys me.
yours, Marcus