Fog Creek Software
Discussion Board

Project size == how many LOC/ forms?

Albert wrote that his "small app" had 26,000 lines of code and 160 forms. My ego shriveled as I realized that my "medium sized app" had half the LOC.

What's the consensus for app size benchmarks? What do you consider to be a small, medium, or large app?

My JOS Alias
Wednesday, June 18, 2003

There is no such consensus.
You can use LOC in your project to keep track of 1 thing only, whether it is growing, shrinking or constant.
But realise that in itself does not mean anything.
You may use it as a relative measure and investigate further if it shrinks when you think it should be growing. Or vice versa, but it's not an absolute measure of any kind. And there are certainly no scientifically valid correlations between one project and another.
And even as a relative measure, it is very difficult to use, because there are no causal rules that tell you when it must grow, or shrink, or stay constant. You might expect it to grow in the beginning of a project, of course, when people are adding. But it can't tell you how fast it should grow.
And if it stays constant, it does not mean nothing is being added. Maybe refactoring reduces code as quickly as new code grows, you can only tell by tracking the activities themselves, not the symptoms.

Practical Geezer
Wednesday, June 18, 2003

Be glad your projects are smaller.  It may be the case you are writing tighter, cleaner code.  Lines of code are a liability, not an asset.

Wednesday, June 18, 2003

A recent project I created was a web application that had 200 .asp pages, 220 database tables, 460 stored procedures and relied on about 600 Word templates for document production.

This is a pretty big project to me, the biggest one I've created so far. It's all my work, so I can understand it, but its a nightmare of complexity for new people trying to get to grips with it. This is more due to the size of it, and the complexity of the business requirements, than my design (hopefully).

I'm now in the process of re-factoring it to make it more generic and reduce the number of components. Also, using ASP.NET now, rather than plain old .asp, which makes life a lot easier.

Steve Jones (UK)
Wednesday, June 18, 2003

LOC will depend on the language.

Good VB is often more verbose than bad VB.

On the other hand excessive lines of code could mean that you are writing spaghetti code instead of writing sub-routines.

The number of forms will often grow as the application becomes more polished and you split forms up or it may shrink as you decide to put more on one form.

Stephen Jones
Wednesday, June 18, 2003

I measure the magnitude and success of my projects in the amount of hard profit that they return. Is there any other measure that matters?


Wednesday, June 18, 2003

I recently updated my resume and had categorized my projects as small, medium, large. After reading some of the threads here, I started wondering if my medium projects were everyone else's idea of a puny project - self doubt brought on by fatigue and mental comparison of my apps to other comercial apps.

As I laid down to sleep, I realized that this was a just plain stupid post. LOC varies based on whether I'm doing C++, VB, or ASP development. The amount of design and coding I do on my medium apps is probably equal to or greater than the amount of work that many developers do on large team-based projects.

So I've decided: (1) no more posting to forums when I'm brain-dead tired, and (2) I know app size when I see - there are no absolute measures.

My JOS Alias
Wednesday, June 18, 2003

Here's a rule of thumb (Stroustrup I think. not sure):

You're working on a "large" project if managing the build is a project in itself.

Wednesday, June 18, 2003

LOEC = Lines of executable code (no comments, no braces, no empty lines)

Big App > 1,000,000 LOEC
Medium Size App ~ 500,000 LOEC
Small App < 100,000 LOEC


Wednesday, June 18, 2003

*  Recent Topics

*  Fog Creek Home