in reply to
Re: Why Create Coding Standards and Perform Code Reviews?
in thread Why Create Coding Standards and Perform Code Reviews?
I am in QA now (about 15 years), but I was an application and driver developer for 12 years prior to that. I still develop code. I just don't do it to put food on the table. I was/am all five of the developers below.
I have noticed there are 5 classes of developers and the quality of their work depends on how they self-defined their job.
- I write code
- I write code that compiles
- I write code that compiles and works
- I write code that compiles and works well
- I write code that compiles and works well for a long time
The developer with 1/50 the defect density of his peers clearly wrote code that compiled and worked well for a long time
I also told his manager that the developer was slow only because of manager's incorrect definition of done
. The manager was using The programmers says so; i.e. has submitted some pastiche of code for peer review.
as the measure of done. I pointed out that if done
is defined as passing a peer code review with no correction noted (regardless of the need for re-review)
, then most of his developers have never
completed their task and the guy we were discussing was done a over half the time. Suddenly, his careful, professional craftsmanship did not look so slow.
Code review helps every developer and designer become a careful, professional craftsman at developing or designing software that compiles and will work well for a long time
. Code review helps every developer and designer become the careful, professional craftsman they long to be. Code review are for the long view.
Any competent carpenter can produce a china cabinet in a day, but the guy who takes 15-20% longer, makes a cabinet which will be on the Antiques Roadshow 50 years from now.