* The Business of Software

A former community discussing the business of software, from the smallest shareware operation to Microsoft. A part of Joel on Software.

We're closed, folks!


» Business of Software FAQ
» The Business of Software Conference (held every fall, usually in Boston)
» Forum guidelines (Please read before posting!)


Andy Brice
Successful Software

Doug Nebeker ("Doug")

Jonathan Matthews
Creator of DeepTrawl, CloudTrawl, and LeapDoc

Nicholas Hebb
BreezeTree Software

Bob Walsh
host, Startup Success Podcast author of The Web Startup Success Guide and Micro-ISV: From Vision To Reality

Patrick McKenzie
Bingo Card Creator

What percent of your code is not reusable?

I am working on a feature this week i intend to use in 2 projects.
I had the thought that maybe 95% of the code that i have ever written was not made in a way that is super easy to re-use in the next project.  And then i end up reusing a lot of the same things in the next project.  i often re-use things from former projects with copy paste modify customize instead of include library and extend

This number fascinates me because its seems like so much waste

Please post your estimated nunber on what percent is reusable and how you try and minimize waste.
C. Stark Send private email
Thursday, April 14, 2016
These days I had thoughts in a close direction. But in my case I realized that 95% of the code that I have written in the past 15 years is gone (deleted, dead, or not running). In this statement there is code done by only me and by 100 men divisions working for 10 years.

This is much more frightening I think.
Atanas Krachev Send private email
Friday, April 15, 2016
maybe 95% is an exaggeration and it is really 99%

Yes so is this just how it is, or is there anyway to minimize it?
C. Stark Send private email
Friday, April 15, 2016
Probably 50% is reusABLE, but less than 1% is actually reusED. Second time around, there is always more information, a better idea, a new style, a new tool, a new twist.

And, most important of all, this informs everything we do, almost never are we willing to risk screwing up existing functionality by modifying shared code.

I think outside of major products like OS's and databases and such, widely shared code this is like world peace; we will talk about it forever, but never really achieve it.
GregT Send private email
Friday, April 15, 2016
I use my GUI library written in c++/WinAPI and rest of my projects was written with the GUI library. So, 50% of code is reusable.
Library is not the best but for my purposes it gives results (the only one thing should be rewritten - drawing "engine" - it is too slow using GDI windows embedded into other GDI windows and drawing them)
NorthNotch Software Ltd. Send private email
Friday, April 15, 2016
This is a hard question to answer.

For example, I have three products that were all designed to use the same core functionality.  With that in mind, I'd guess I have 70% reuse among the products.

But if I started a brand new project in a completely separate problem domain, how much would I bring with me?  5%?  Hard to say.
Doug Send private email
Friday, April 15, 2016
5% for some visual and other components, code libraries. The rest (About 95%) is not reusable. I'm starting a new project, once again something related to image processing and I intend to make the processing/recognition part reusable, maybe even a separate product. Software components sell, there is market for them.
Zka Send private email
Saturday, April 16, 2016
I write enterprise applications using PHP. I do this using a framework which I also designed and developed. This is based on a combination of the 3 Tier Architecture and the MVC design pattern.

All my Model/Business Layer components inherit from a large abstract class, which makes all the code in the abstract class totally reusable.

I have a separate component in the Data Access layer for each supported DBMS. Each user transactions uses one of these components to communicate with the database.

I have a library of 40 reusable Page Controllers, one for each of my Transaction patterns. Each user transaction uses one of these shared Controllers.

I have one standard View component which produces HTML from an XML document and an XSL stylesheet. I have a second View component for generating PDF documents, and a third for CSV output.

All this shared code provides default behaviour in every user transaction, so the only code I have to write is when I want to alter the default behaviour with customisations.

My main application has over 2,500 user transactions, and it is only the custom code which is not reusable, and this represents only 5-10% of the code which is executed in every user transaction.
Tony Marston Send private email
Tuesday, April 19, 2016

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

Other recent topics Other recent topics
Powered by FogBugz