Monday, May 4, 2009

Code Review without Standards

Code review. Those words get thrown around a lot where I work. I haven't actually been a part of, or even witnessed one, but people at least talk about them. Another colleague who is new here like me said he really wants code reviews in place here. He had that at his previous job and really misses having someone review his work and make suggestions.

One issue that this brings up in this particular situation is standards. This particular team I'm on now hasn't really got any standards in the way they develop. Standard IDE? No. We've got devs in jdeveloper, intellij, eclipse, and for a brief moment netbeans (I had to try ;]). This kind of thing seems like a freedom, but to newcomers and average developers this can be a bit taxing at times plus it leads to little problems that like to edge their way into the mix. How does a person go about ramping up onto the team? If you sit with person-a on Monday and they use eclipse and setup their environment with configuration-b, but on Tuesday you had to work with person-b with jdeveloper and configuration-0 then how productive are you going to feel on Wednesday when you get to setup your own machine? How does one go about documenting a developer ramp-up tutorial? Should you do one for each environment?

That is just a glimpse the ice burg. There are other things like standard code formatting and 3rd party library use vs. reinventing the wheel (how many times should you write a string utility class?) This is nothing new. Every software team across the globe has had to deal with this kind of thing at one point or another. So let me address my questions:

  • Can you implement code reviews without first having in place some form of standardization?
  • Could code review be a platform from which to define standards?
  • Should a standard IDE be encouraged? I shy away from enforcement.
  • For those with prior experience in this: How should a group approach implementing standards and reviews? Hoping to avoid making everyone mad.
What say you?

Until next time
Les