How do we judge what code is good or bad?

There are many things in software development that are subjective, but it never ceases to amaze me how 100 people fixing the same problem are likely to end up with 100 different implementations. This is the basis for one of the more complicated development activities - code reviews. This minefield requires a balance of technical and social skills.

Be generally specific

I was working with some code when my spidey senses started tingling. The code looked generic, but the code the callers was using made it look like there was a problem.

Communication is the key to readability

Writing code is a weird process. We try to communicate ideas in code, but in every other form of communication it is obvious who you are talking to. The writer doesn’t talk to the typewriter, they talk to the readers. The artist doesn’t talk to the canvas, though they may feel like it, they talk to the world. So who do programmers talk to, is it computers?