Programming Is Mostly Thinking
Pretend you have a really great programming day. You only have to attend a few meetings, have only a few off-topic conversations, don't get distracted or interrupted much, don't have to do a bunch of status or time reporting, and you put in a good six hours of serious programming [note: this RARELY happens in an 8-10 hour day]. I want to review your work in the morning, so I print out a diff of your day's work before going home. Sadly, overnight the version control system crashes and they have to recover from the previous day's backup. You have lost an entire day's work. If I give you the diff, how long will it take you to type the changes back into the code base and recover your six-hours' work? Programming is 11/12ths Thinking I've been touting this figure for some time now, and people keep asking me where the study is that produced such an odd number. Well, it's not pulled out of thin air and it's not the result of a thoro...
My Anti-virus won't let me follow the link. It (Avast) claims it sees a Trojan attack at that site.
ReplyDeleteBizarre. I have no trouble clicking over and back, but I don't have your anti-virus. Maybe the anti-if guys or your antivirus guys need to take a closer look at this!
ReplyDeleteI found other blogs that discussed this concept and got the basic idea anyway.
ReplyDeleteWe kicked the idea around at work and decided that it is largely impractical for our applications, rather like replacing while loops with recursive function calls. The source code looks pretty that way, but at run time it is a disaster. (Stack overflows, terrifyingly slow execution, etc.)
But thanks for bringing the concept to my attention.
We killed a bunch of them today. Some long methods became very small and clear. Of course copious unit tests helped us measure impact. We also removed duplication , worthless comments, and a minor case of tuple madness,
ReplyDeleteI feel all good about it. My pair partner has chops. My team has chops. Everything gets smaller, cleaner, more obvious, and better tested each day.
Those if statements just melt away.