The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

How often do you build? (re: productivity)

How often do you hit "Build" or "compile" ?
(I'm using C++ - if "compile" isn't applicable to your language/environment, perhaps substitute "quicky test" for "compile")

I used to hit build whenever I finished a large
function or a couple of small functions, just
to make sure I cleaned my syntax errors as I went.
(which was a build about every 5-10 minutes).

Lately I've experimented with building only twice a day (before lunch and leaving work for the day). I've found I'm more productive this way. Surprisingly more productive!

I attribute most of the change to staying in the "design/development" mindset. Whereas my old method made me break out of that frame of mind too often to clean up my syntax errors.

I'm wondering if anyone else has experienced this...
Warren Stevens Send private email
Saturday, March 18, 2006
About every five minutes on small projects. I couldn't cope with only getting a green bar on my tests twice a day. I need the instant gratification. :)
Thom Lawrence Send private email
Saturday, March 18, 2006
I'm a build 'n' run in the IDE after each function point person.

I like to know that everything is clean, and I can move onto the next step, even if it was a simple re-factoring or speed up I want to know nothing is broken.

I do a "proper" build, test it (usually cross platform) and then commit to version control once a feature is complete.

I'm much happier in my mind this way, I *know* that the functionality is complete, and can move onto the next one without any nagging thoughts in the back of my mind.
Ian M. Jones Send private email
Saturday, March 18, 2006
> Surprisingly more productive!

I am curious. How do you know your code works?
son of parnas
Saturday, March 18, 2006
I got a new Dual Core laptop last week, and since then I've been building once every two minutes, almost unconsciously. I just hit CTRL+SHIFT+B every time I write a line. The build happens so fast (15 seconds), and I can continue to work while it is building.

My old development laptop took 3-5 minutes to build this project (about a dozen C# class libraries) and I found myself building only a few times per day.

Number of builds per days is definitely inversely proportional to the length of the build.
PWills Send private email
Saturday, March 18, 2006
I'm mostly a "compile rarely" person. I've always found that the simple act of working out what code you're going to type in is sufficient to reveal many flaws that you didn't spot when planning the thing as a whole. And as you type in that code, that reveals further flaws. Repeat, until you can't think of any more problems.

I leave compiling to the end, when I decide that it's probably going to work. And once I've fixed up the syntax errors, it's surprising how often it does. (And if you overlook the sort of fiddly detaily "off-by-one"-type errors that compiling doesn't pick up anyway, it's even more surprising how even more often it does!)
Saturday, March 18, 2006
I build a lot more often when coding in C# than in VB .NET.  I've found that (in .NET 1.1, at least) the C# on-the-fly compiler is a lot more anemic than the VB one.  Couple that with the (utterly pointless) case-sensitivity, and I find myself compiling frequently to make sure I didn't miscase something.

Fortunately the Intellisense in C# 2.0 is much more aggressive and alleviates some of these problems.
Kyralessa Send private email
Sunday, March 19, 2006
>> Surprisingly more productive!
> I am curious. How do you know your code works?
> son of parnas

By testing it, or looking it over. I'm not suggesting testing be reduced at all. Only that it be all done at the same time.

Testing all at once *might* be more beneficial too ??? There are lots of things that work fine individually, but when you compose them into a larger system you discover more bugs.

Small additional gripe:
Who picked Ctrl+Shift+B for the default accelerator for building in VS? This has got to be one of the hardest combinations to hit !!!
Warren Stevens Send private email
Sunday, March 19, 2006
How often really varies. I mainly build just as a spell checker when I think of it, maybe a few times a day, but each time I'll do it several times as I correct the typos.
Art Wilkins
Sunday, March 19, 2006
I program Java in Eclipse, which detects compilation errors in real time. Consequently, I usually build the code right before I test it.

At my last job, I configured Eclipse to run the code without an external build, using the class files automatically generated when I saved a Java file. I ran external build as part of the final round of testing before submitting my code to source control.
Julian Send private email
Sunday, March 19, 2006
>> Who picked Ctrl+Shift+B for the default accelerator for building in VS? This has got to be one of the hardest combinations to hit !!!

You might find this easier if you use Left Ctrl + Right Shift (or the other way round). I've noticed a lot of people seem to naturally use 'same side' Ctrl and Shift for C+S+letter shortcut; this is the harder way, but the one most people pick first! Maybe because conceptually it feels like 'C+S' is acting as a single modifier key, I don't know.
Larry Lard Send private email
Monday, March 20, 2006
I think stretching out the build cycle a *little* can help productivity.  Eric Sink wrote an amusing article at about the temptation to fall into the code-build-debug-build-try something else-build routine.

I struggle to stay away from this too, but I do try to avoid jumping right in to debugging.  Instead, I'll write some more nUnit tests to pin down the exact conditions that the error manifests in.  When I do go into the debugger, I'll step through the code and watch the variables change.  But I try to avoid making gut-reaction changes and rebuilds.
Jesse Smith Send private email
Wednesday, March 22, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz