Code reviews are a great way to improve code quality and increase the maintainability of a code base. By increasing the general code quality of a project through code reviews you will decrease the number of bugs that are visible to the customer as well as decrease amount of time spent later debugging and fixing code (it has been noted that effective code reviews can remove over 80% of all defects before testing even begins).
The code review process consists of three main activities a personal review, peer review and rework.
Personal review
Personal code reviews involve the developer inspecting their own code before it is released for further inspection by a peer. There are several tools available to aid a developer in this personal review process, Checkstyle and PMD are great tools that help cover basic code quality issues.
PMD is a Java source code analyser. PMD is used to identify common bad coding practices like, unused variables, empty catch blocks, unnecessary object creation etc.
http://pmd.sourceforge.net/
Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. These coding standards help enforce a standardised approach to the way the syntax of your code is laid out. Checkstyle is highly configurable and the rules it governs can be changed from project to project.
http://checkstyle.sourceforge.net/
If the above tools are in place a developer should write code that is of quite good quality by default, however before any code is released for further scrutiny the following check list should be completed by the author of a unit of code.
Personal review check-list
Peer review
A designated reviewer examines the code on their own, at their own pace, and at their own convenience but before the code to be reviewed is delivered within a release to the customer. The goal of the peer review is to have a fellow developer confirm that a unit of code conforms to the customers requirement, software architecture and has been written to the acceptable coding standards that are laid out for the project.
Peer review check-list
Requirements review
Design review
Coding standards review
Test review
Maintainability
Rework
After a peer review has taken place any issues that have been found are raised to the author of the reviewed unit of code. It is then the authors responsibility to address the raised issues and once completed repeat the personal and peer review processes. If no issues where found the code is ready to be included in the next release.
Jupiter, a code review aid
Jupiter is the team collaboration review tool to help aid the code review process. This tool helps aid the code review process by introducing a “Review” prospective to the eclipse IDE. From this prospective developers can create and manage individual code reviews in a collaborative team focused way.
The Jupiter user guide is available at http://csdl.ics.hawaii.edu/Tools/Jupiter/Core/doc/UsersGuide.html.
Also the DevX site has a good practical walk through of using the Jupiter plug-in in a code review process http://www.devx.com/enterprise/Article/31658.
(Source: seantindale.com)
Are you leaving behind an easily found trail of accomplishment? Few people are interested in your resume any more. Plenty are interested in what you’ve done. — Seth Godin
5 actions to diversify your professional development and be a rock star in your field. -
(Source: leadershape)
Keep presentations simple, it should make sense to a five year old, without treating your audience like a five year old.
56 Leader Skills - Be An Extraordinary Leader -
(Source: sharonwhyte)
From Indonesia’s Professionals and Entrepreneur’s Club.
Forbes: How To Be More Interesting (In 10 Simple Steps)
Progress + momentum = confidence. The moment you see yourself tackle the smallest part of the impossible task, the quieter the Critic (your internal voice) becomes because you’re slowly proving him wrong. — Managing Humans
[video]
[video]
Please stop waiting for a map. We reward those who draw maps, not those who follow them. — Seth Godin (via wellsaidblog)
Not a recipe but rather tips on using the right brain.
A manager’s job is to take what skills they have, the ones that got them promoted, and figure out how to make them scale. They do this by building a team that accentuates their strengths and, more importantly, reinforces where they are weak. — Managing Humans
[video]
Good management is the art of making problems so interesting and their solutions so constructive that everyone wants to get to work and deal with them. — Paul Hawken, Natural Capitalism