When I’m starting a project or thinking about adding functionality to an existing code base, I always consider using any existing code. Sometimes this is obvious – I’m not going to write my own RDBMS — but frequently, it is a more difficult decision than it should be. In making a decision, I look first at the questions that I can actually get answers to:
- Am I getting more than I need? It pains me to add a multi megabyte DLL to a client download for a small amount of functionality.
- Will I spend more time learning the interface than I would writing the functionality I need myself?
- Is this an active project, and is there any documentation?
- If scheduling isn’t an issue, how much fun would it be to write my own version?
Next comes a set of questions that are oftentimes harder to answer:
Continue reading ‘Dev Diligence: Don’t Invest in the Wrong Code’