Code Review Evolutions

We’re well into a year of introducing code reviews and I’ve noticed a continued evolution over that year.

At first we used no tools, printed out the code ahead of time, and then walked through it with an overhead and a projector in a formal meeting. Then we introduced tools, first Jupiter and then Crucible. [...]

Using this Keyword to Call Private Methods

After a recent code review I noticed a lot of code similar to the following:

this.createAUser();

or

if (this.isValidProfile()) {

Our coding standards allow for using this with fields to make the distinction clear:

private int count; pubic void setCount(int count) { this.count = count }

We adopted The Elements of Java Style for our [...]

Manager Code Reviews

We’ve been holding code reviews for close to a year now and the process has evolved from the first days. We’ve seen many of the common benefits:

Better code quality and readability. Catching some defects early. Mentoring opportunities around design.

We’re still a bit informal about it and probably reviewing less code than we should, [...]

TDD Next Year

I had two major practices to put in place to improve our overall software development for this fiscal year.

Implementing Test Driven Development with a target of 70% unit test coverage. Implementing frequent, lightweight code reviews.

Easy enough, on number two we’ve been fairly successful and will continue to tighten things up over the [...]

Service in Small Shops

I finally got around to updating the Crucible beta today. Crucible is a code review tool from Cenqua. Everything went fine until I started it up whereupon one of the update sql scripts failed. I went ahead and found a post on the exact same problem in their forums and uploaded the related file. Just [...]

Horizontal Security

In a talk tonight at the SACJUG meeting Roman Hustad of Foundstone talked about a number of issues in writing more secure code. Luckily he comes from a coding background so much of the advice was a lot more relevant than the typical network security perspectives.

Foundstone has developed a couple of example applications to [...]

Introducing Agile Through Tools

I’m a tools guy. I love to try out new tools. I get excited by the most boring of build tools like ant, maven, or rake or even code review tools like Jupiter or Crucible. In the book Applied Software Project Management they introduce the concept of building support for change through tools:

Another way [...]

Code Review Mashup

We ran what I’m going to refer to as a code review mashup early this week on a project. The preparation looked like:

Setup a meeting time for a 2 hour block by the tech lead. Setup the code review in Crucible selecting four classes written by three different developers including the lead about one [...]

Code Review With Crucible Closed BETA

Yesterday I went through an install of Crucible on our development server. It runs on top of their Fisheye product. I’ve actually been waiting a long time to check it out.

Install and configuration wasn’t bad, maybe an hour and mostly to have Fisheye index part of our CVS repository. Just for an experiment [...]

Code Review with Jupiter

I’ve held off using a tool for our code reviews because I didn’t see one that was available that supported a fairly lightweight process. One exception to this was the Eclipse Jupiter code review plugin which we can now use because almost all of our developers have migrated to RAD. (Also suggested by Tim Shadel [...]