News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

John Sonmez's Blog:
Types of Duplication in Code
May 29, 2012 @ 13:58:03

On his "Simple Programmer" blog John Sonmez has a new post looking at three kinds of "code duplication" that you should keep an eye out for when coding your applications:

One of the biggest reasons to refactor code is to eliminate duplication. It is pretty easy to introduce duplication in our code either unintentionally or because we don't know how to prevent or get rid of it. [...] I've found that there are three basic types of duplication that we can eliminate from our code that successfully build on each other.

He describes the three types - data, type and algorithm - and gives some code snippets showing how they present themselves and simple solutions of how to resolve them. There's also a quick mention of a "combined attack" when more than one form of duplication shows up at once. He suggests a to help find the "edges" of the duplication:

I've also found the key to eliminating duplication is sometimes to first exaggerate it. Often I will purposely take two methods that I know have some duplication and make them look even more duplicated in order to be able to clearly see where the duplication lies.
0 comments voice your opinion now!
code duplication data type algorithm


blog comments powered by Disqus

Similar Posts

SitePoint PHP Blog: Check Your Code’s Quality with SensioLabs Insight

Joseph Scott's Blog: Why PHP Strings Equal Zero

DevShed: Embedding Model Data in Views with CodeIgniter

NetTuts.com: Understanding and Working with Relationships Between Data in WordPress

PHPMaster.com: Practical Refactoring, Part 1 - What is Good Code?


Community Events





Don't see your event here?
Let us know!


symfony install release update language tips introduction laravel library interview deployment package api series community opinion zendserver list podcast framework

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework