“When to reinvent the wheel”

Garrett Moon by Garrett Moon 4.20.2009 care to comment?

When to reinvent the wheel

Reinventing the wheelContinuing with the trend of cliché titles, I thought I’d discuss the use of pre developed tools, libraries and Content Management Systems or CMSs. Choosing which code to write from scratch and which bits to pull from already written projects can be quite the art. What it always comes down to though, is a question of what will take the least amount of time to implement and maintain while meeting all the requirements for a project.

This can often be a tricky question as a lot of factors come into play. A CMS, library or framework may meet many of the needs of a project, but its structure can get in the way of additional features that are required. There is also a considerable time investment in learning how a piece of code works which means that supporting and developing with the hundreds of PHP frameworks available is not a practical option. One must also take into account how a library will be maintained; will code need to be rewritten when updates to a library occur, are bugs fixed quickly, are security risks well audited, is there an active community of users to bounce troubles and ideas off of?

Essentially any developer worth their salt isn’t going to reinvent the wheel on every project they start. To save time we use frameworks, snippets of code and sometimes whole systems to speed up development and focus on the unique features of a project. However we have to be careful that the next security update to a bit of code isn’t going to cause us to do a rewrite and that we choose the best tools for the job.

As a client choosing an agency to produce your project, finding out what they know about existing tools and options to reduce development time and cost and to increase quality can be an effective method for evaluating a firm.

Here at Pondry, numerous frameworks and projects (a shoutout to: Expression Engine, WordPress, Kohana, Codeigniter, CakePHP, jQuery, three20 to name just a few) have contributed to the quality of the code we produce. That and the coffee and beer.

Posted Under: ,

Leave a comment, or see other articles by Garrett Moon