Lines of Coding Per Day

Started by
48 comments, last by Servant of the Lord 11 years, 3 months ago

[quote name='frob' timestamp='1357946863' post='5020522']
One unit of work is the thing that I submit into version control.[/quote]

QFE.

Features and bug fixes committed to the source repository is the primary metric of progress. Sometimes you are committing a single-line bug fix, or a -20,000 line refactor, but at the end of the day, that is the progress everyone will see and care about.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

Advertisement

Interesting that I had been studying source repository, version control, and other areas related to SCM before I started this thread. I was wondering how to specifically report the work of programmers. It is really the underlying motivation for my starting this thread.

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

Frankly, its more important to learn how to work WITH a developers skill level than the number of lines of code he writes in a day.


A billion times THIS.


Learning to capitalize on the strengths of your team members - and compensate for their weaknesses - is a soft skill. You don't do it by assigning numbers to things and making pretty charts. You do it exactly as Washu described: by gathering a lot of experience in how different people operate, and getting an intuitive sense for how to integrate the efforts of disparate workers.

Managers who exclusively use metrics to judge everything their teams do are a royal pain in the ass to work with. Good managers know how to use metrics to inform the much more subjective process of helping a team reach peak productivity.

Interesting that I had been studying source repository, version control, and other areas related to SCM before I started this thread. I was wondering how to specifically report the work of programmers. It is really the underlying motivation for my starting this thread.

You report the work of programmers in precisely one way:

Is the customer satisfied? Yes? Work's done. No? Get back to work.


Break this down into fine-grained tasks if you like (I personally think that makes sense) but in the end all other measurements are failures and will serve to annoy people far more than they will help.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

When I code I try for 1000 lines a day. That tends to tapper off the closer you get to the end. As long as you have direction your lines per day are limited by your typing speed and accuracy. Which play a large part in how fast you can code. Assuming you already know where you are going with that code.

Sprite Creator 3 VX & XP

WARNING: I edit my posts constantly.

Lines of code is a very poor measurement tool for several reasons:

A) One line of code in one language at a higher level of abstraction might be worth twenty in another language.
B) A poor programmer might write 10 lines of code when 5 might suffice (not properly re-factoring into functions), or a poor programmer might write 5 lines of code when 10 would be better (example: skipping error checking).
C) A poor programmer might write 50 lines of code, and have to re-write it later because the first time it was done wrong. Does that mean he wrote 100 lines of code, despite only 50 ending up in the final project?
This, this, this, this, this. So many times.

Don't measure your (or anyone else's) productivity in lines of code - measure in objectives achieved. Did they get that post-processing effect written in a manner that fits well within the performance and resource-utilization budgets? If so, who gives a damn whether they did it in 5 lines of code or in 50,000 lines of code? It doesn't matter! If it's not nasty code, if it integrates well, if it meets the requirements, if it achieves the objective; they're far more valid metrics.

The fact that it's possible to sweat and agonize over 20 lines of code whereas it's also possible to grind out 20,000 lines of absolute garbage should clue you in - lines of code is not something you should be measuring. Forget it. Ignore it. Focus on the objectives, focus on what you're doing. Code is a means to an end, not an end in itself.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.

I'm curious how many of the people who are suggesting >50 lines per day (averaged) have worked in a professional setting... And what kind of code they're writing...
[size=2][ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]
Please explain, Cornstalks. What is your experience with it?

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

I can't speak for Cornstalks, but here's my take:

In the real world, building software means many different things:
  • Actually writing new code
  • Reading existing code, either to inform the creation of new code, or to improve what already exists
  • Thinking about code
  • Talking about code with colleagues
  • Working on documentation
  • All the miscellaneous stuff that having a real job entails: meetings, reports, etc.
Especially if you are working on a product that's already in-use someplace, you don't just bang out reams of new code all day. Understanding and refining existing code is far more of a time sink than just typing new syntax into your IDE.

I spend only a fraction of my day actually in my IDE, and only a tiny fraction of that writing new code.

Even on my personal hobby projects, far more time goes into planning and maintenance than actually churning out squiggly symbols.

My gut feeling - and I suspect Cornstalks shares this sentiment - is that people who are (A) focused on LOC production and/or (B) talk about dozens or hundreds or thousands of LOC a day are doing something wrong.


Would you rather have a dentist who needs three hours to give you a root canal and a crown, or thirty seconds to rip out all your teeth and hand you a pair of dentures?

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Apoch,

Have you ever gone over 100 in a day with good clean code, say using a scripting language of the simpler kind?

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

Please explain, Cornstalks. What is your experience with it?

What ApochPiQ said (and what I previously said). Also, I'm sincerely curious (to a degree, though I'm afraid it might give me nightmares).

Also, I just want to clarify that I'm not suggesting you should never exceed X number of lines in a single day. I was (and am) talking about averages.

[size=2][ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]

This topic is closed to new replies.

Advertisement