Comments are not Code (redux)

4869433260_5f8a080519

Yesterday, Tomaž pleasantly surprised me with the following tweet https://twitter.com/tomaz/status/214348366254063617

Just a few days before I wrote in a code review (that Tomaž wasn't part of)

It's a good rule of thumb: if you need to comment something, quite probably there is something wrong with your code.

I fancy myself that Tomaž's tweet might be influenced by my constant nagging about comments and code reorganization. Ever since we have introduced code reviews at Zemanta, I see tremendous change in the way we do and approach coding. While my coworkers have traditionally written the code mostly for the machines to understand, they are increasingly aware that their primary audience are their fellow coworkers. Especially in the case of Zemanta and other service providers, the need for comprehensible code is paramount for productive development. We develop our service in an incremental, piecemeal way, always fixing, optimizing, or improving the part of the system with the highest priority. Even if you are author of a particular subsystem, you'll be completely lost in that code base after not seeing it for half a year or more. And once you do touch the code you'll be very grateful to yourself for not writing that piece of code in brainfuck.