Representative Line

A single line of code from a large application that somehow manages to provide an almost endless insight into the pain that its maintainers face each day.
"I'm as much a fan of Java Generics as the next guy," writes Jim Bethancourt, "why bother with writing all that type-specific code for common collections (or - gasp - losing type safety) when one can simply go  HashMap<String, SomeObject>."
“Shortly after joining my new company,” writes Rajesh Subramanian, “they introduced me to The Monster: a massive, incomplete framework written in C++. Its documentation consisted of a few sparse, often contradictory comments. It was designed to be multithreaded, but always crashed with more than one thread. It was expected to run on different operating systems, but never quite made it past Windows 2000 SP3. And naturally, it’s filled with friendly variable names like s, t, pp1, pp2, and so on.”

Deep Copy

2008-04-16
A little more than a year ago, Nathan T's company decided to outsource a large portion of certain project to a certain country many thousands of miles away. "Even if the code quality isn't as good," one manager would often say, "we'll just pay them to rewrite it and rewrite it again. It'll still be less expensive."

The Test of Truth

2008-04-04
A few years back, Randy A took a contract as a maintenance developer on a wretched abomination of an application. Like those who've stared into the heart of the Great Codethulhu, Randy's retinas are forever burned with code from the system. One line that continues to haunt his dreams is as clear as the day he first encountered it...

On a Budget

2008-01-30
Not all of us are fortunate enough to work in "spacious, windowed private office" like the pampered developers over at Fogcreek. At my company (Inedo) for example, developers are constantly trying to figure out, do I get a chair today, or is it my turn to plug-in to the network? While I'm sure your work environments are equally less-than-ideal, not too many can compare with Baughn's experience.
A lot of “certain” developers just don’t like change. They’ll stick to their architecture no matter what, and certainly regardless of the requirements change. Doing any less would compromise the “purity” their design.
John Y recently had to deal with an XML-like dump from a "4D" database. This dump used a peculiar form of abbreviation in which letters were chosen seemingly at random from field names, in order to meet the well known XML limitation of only allowing 5 characters per tag name.

Serializalicious

2007-09-28
If you aren’t familiar with Serialization in Java, then today is your lucky day! Here’s a quick, crash course in Java Serialization:
Telly B. sent in a representative line that returns database connection information... from the database.
Dave works as a programmer in a small IT department within a large division of a gigantic company. Unlike his company’s Central IT, his division’s IT department doesn’t seem to hire regular programmers. Instead, they take people from within the division that have programming acclimations and stick them on the programming team. Combine this with the lack of a real development process, testing, or even user feedback, and a lot of interesting programs end up in production.

What, Me Layer?

2007-06-13
In these days of Web 2.0, the line between outdated (and therefore obsolete) and retro (and therefore cool again) can get pretty blurred. Desktop Applications: outdated (unless they’re HTML-based or made by Google). Client/Server: retro (no green-screens please!). Tiered Design: retro (but only if at least two tiers are AJAX/JavaScript-based).

Accessibility

2007-05-23
These days, Accessibility is all the rage. I wish I could say it was actually driven by §508 Requirements, W3C Standards, and an all-in-all good faith effort to allow “differently abled” people to access content. But it hasn’t. As long as we, the majority, can access content, that’s all that really matters.

Gaming Ground

2007-01-31
I generally don't publish code from the videogames because I don't believe that code quality is as important in that industry. Short of the occasional patch, once the product is shipped, it's done; there's no ten-year lifespan to worry about.
For those of you stuck at work today, or in one of those 191 countries that don't celebrate Thanksgiving Day today, or -- *gasp* -- actually reading this from home while on holiday, here's a Representative Line that should get you in the holiday spirit. It's the subject of an email sent by the CFO to Mike and the rest of the company ...
Good news, everyone: it's time for a new series! Technically, this is not the first time that I've presented a Representative Line: a single line of code from a large application that somehow manages to provide an almost endless insight into the pain that its maintainers face each day. However, going back and renaming the old articles is a bit of a hassle, so I'll just pretend this is the first episode.