This is a list of books currently on my To Read shelf... literally. I do not suggest or anti-suggest any of them at this time as I haven't read them yet.
Current Efforts:
Blue Parabola, LLC
HubAustin
web2Project
PHP'ers:
Cal Evans
Eli White
Elizabeth Naramore
Joe LeBlanc
Matthew Turland
Matthew Weier O'Phinney
Planet PHP
Tony Bibbs
Business/mISV:
Bob Walsh
Eric Sink
Joel Spolsky
Micah Baldwin
Paul Graham
Past Projects:
CodeSnipers
HOBY
Judicial Watch
mobile FoxNews.com
NRTW
Great Tools I use:
Drupal
GitHub
NetBeans for PHP
phpUnit
Subversion
Zend Framework
This is not the home of dotProject or web2project. It is the home of CaseySoftware, LLC. Any dotProject support questions should be referred to their support forums.
At last month's DCPHP meeting, we did our first Code Review. I wasn't sure how it would go or even if anyone would participate but when I put out the call for code samples, one of our long-time and respected members stepped up. He provided us with a nice little ~100 line PHP class that was relatively self-contained but obviously part of a larger application. All in all, a great example.
Obviously, one of the things that gets people worked up about Code Reviews - or showing their work in general - is that other people will look at their work.
To be blunt: Well, duh. That's the point of a Code Review.
But let's stop and think about that for a second. How often do you share code with the rest of the world? Even if you're an Open Source developer, you probably don't share your first version with many people until you've been doing it for quite a while. You probably float it around a very small circle of people whom you respect and/or work with - I hope those groups aren't mutually exclusive. After they've picked at it a bit and given you feedback, you tweak, re-write where necessary and commit to whatever repository you have. After you've done this for a while, you've probably learned the big ugly things to look for and you fix them yourself and at some point, you feel comfortable sharing your code without a great deal of "kicking around" internally because you've already done it mentally.
As a result of all this, I had concerns about how the first one would go. In an attempt to set the right tone and get things rolling in a positive way, I laid out some direction:
All criticism had to be constructive - criticizing someone else is easy but rarely useful.
And then there were four types of things we looked for:
And finally, as I moderated the actual session, I didn't let assertions stand. If they made a recommendation for doing something one way or another, they had to say why. A simple "well, it's better" doesn't cut it when you're trying to learn.
The first Code Review was such a success and there was such interest that we're doing it again this week - September 9th 2009 - at DCPHP.
* If you're interested in the specific and discussion around the Code Review, check out Brandon Savage's post Peer Review: Taking Code And Making It Better or his entire series on Peer Reviews.
Great excercise
This is an excellent thing to do together. When I've done code reviews in a corporate setting I always prefaced it be explaining that we criticize the program, not the programmer. This seems to ground all participants in the right frame of mind for the exercise.
GREAT TOOL THAT I HAVE COME ACROSS
There are more and more Code Review Tools popping up. My team has tried many of them. We finally came across Smart Bear's Code Collaborator. Very easy to install! Works great with Perforce!! The Chat-Like interface is also a plus. If you are thinking about adding a tool to your process, I would highly suggest taking a closer look. www.smartbear.com
When I've done code reviews
When I've done code reviews in a corporate setting I always prefaced it be explaining that we criticize the program, not the programmer. T
Post new comment