LOC as a productivity measure.
Who uses LOC as a productivity measure? Does it work? I can see how it works for new software but what about mature software? What about removing functions (i.e. negative LOC), do you count that as a net drain on productivity or is there some standard adjustment given that it is productive coding effort to remove unwanted stuff. What about refactoring into libaries, etc, which could mean a net fall in LOC? What about OO code, does it work for that? Where do babies come from?
1. Only morons.
4. A prime example of why it doesn't work.
5. See 4.
6. See 2.
7. Your father did a bad thing with your mother and a baby was Fedexed to them 9 months later as a punitive measure.
1) No, it is often used as a KPI by management ... oh
4) but but but ... oh okay
7) When I was born fedex was a disease you came back from Korea with.
8) Wumpus ... do I know you? I had a bear called that
9) whats the date for? Only saddos date their posts.
The true identification of Saddo has been duly made.
January 11th, 2006
How do you date a post?
I find that hard.*Bump*
January 11th, 2006
LOC is one of the worst measures of software -- except for all the other measures, excepting Function Points, which seem to have more validity. Except NOBODY has been able to translate "Function Points" into anything else more useful -- like how long it will take to generate the code.
Consequently, unless you're CMM level 3 or higher, most people don't use them. Of course, I don't think you can work on Government contracts unless you ARE CMM level 3 or higher, so there's lots of people who do.
Watts Humphries published a very nice book "The Personal Software Process" which used LOC and analysis of metrics as a basis for measuring and improving your coding productivity. Check it out.
And the reason LOC is bad is some of the issues you've brought out. It doesn't compare the same application written in two different languages well, it doesn't value code removed, it doesn't value 'efficient' (few LOC) approaches.
"Consequently, unless you're CMM level 3 or higher, most people don't use them. Of course, I don't think you can work on Government contracts unless you ARE CMM level 3 or higher, so there's lots of people who do."
Thats far from true. At least in my experience. Since I've started on the project I'm on now, I've instituted:
* good bug tracking
* RSS feeds of cvs commits
* nightly builds
* automated builds (used to be done by hand, a 1-2 week process)
* development standards
Be afraid, be very afraid. Quite a lot of gov't software gets done with little to no standards whatsoever. This isn't just some HR application either.