In my previous place, we had a piece of time devoted to code looking through all the new code. This was an official affair, and we, as a rule, several reviewers looked at each part. We followed some metric - something like 250 lines checked per hour and broke things into pieces that took two hours or so. It can be a long, drawn out business for certain pieces of code. I had one application in which there were about 18 thousand LOC, and therefore you can imagine a clock dedicated to this.
In retrospect, I am not convinced that the review weeks have always been well spent. We did not conduct unit tests at that time, and we spent a lot of time working with UML diagrams in Rational Rose. I'm not sure if it is worth it either.
In my store, we have a less formal process of checking the code, but I do a lot of tests on my own experience and probably have 3x lines of test code that I do for production code. This is part of the equation, at least for me, this is the best bang for the buck. It seems to me that having a bunch of tests confirms that everything works as advertised. But this is a philosophy that some people do not buy.
We are in code that writes each other fairly regularly, but we do not have official code reviews. I think this is a cultural thing, and I honestly believe that the code we write in my store is a cleaner and more correct code than the material that we wrote in my previous place, despite the lack of a formal review process. This may be the caliber of the developer that we have. We just do something different here and seem to work well.
With that said, however, if you're going to do code reviews. Budget time for them. Do not make them an afterthought or try to squeeze them into some kind of schedule. Devs can take a pretty shallow look at the code if they are pressed for a while and overloaded, trying to achieve "real work". When we did not have a budget for this, we got a small benefit from them.
Only my thoughts.
itsmatt
source share