Rogue is a dungeon crawling video game first developed by Michael Toy and Glenn Wichman around 1980. It is generally credited with being the first "graphical" adventure game, and was a favorite on college Unix systems in the early to mid-1980s, in part due to the procedural generation of game content.

-- http://en.wikipedia.org/wiki/Rogue_(computer_game)

Monday, May 17, 2010

Sound and Fury

In reading Code Complete, one of the more interesting statistics was that the average amount of new code generated by one programmer was about 50 lines a day. Now, "lines of code" isn't a very good metric since it does not take in to the consideration of the density of each line of code. That is how much really is done. However it can give you a ball park idea on how complex the program is. The difference between a 100 line program and 200 line program may be very small, but the difference between 100 lines and 1000 lines is most likely very noticeable.

Still, no matter how you look at it, 50 lines of code does not sound like a lot, especially when commercial software packages get up to 10,000 (and more) fairly regularly. What it boils down to, is that being a software developer means doing much more than "writing code."

This isn't foreign concept to me. Being a sysadmin means a lot of prep and planning in order to do a little work as possible. I have done a host of upgrades and production roll-outs. And when things go smoothly, very little work is done at those time. Granted, to do little work, you have to plan and prep.

In Software Development, it relates to good design choices from the beginning make the rest of the project much smoother. Today was doing a good deal of refactoring to the classes and stand-alone functions I plan to reuse going forward. The current challenge was to slowly remove any direct reference to SDL calls outside a few lower level classes. Also I went over the better defined the level of abstraction for each of these classes.

Another change was more of a style change. I am moving from underscore_notation to CamelNotation. Though I am more worried about being consistent in the classes slated for reuse, but I did some clean up in the Connect Four Project as well.

After all was said and done, more lines were taken out (or at least bypassed) then added, even though the functionality did not change. I did make one apparent improvement, that was making the potential chip slightly faded. So not a bad day for a negative number of lines coded today.

0 comments:

Post a Comment