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: Blog Software Smackdown - The Big 3 Reviewed

Project: PHPHint.org - Online PHP Code Analysis

Sebastian Bergmann's Blog: Data Providers in PHPUnit 3.2

Vanessa Vasile's Blog:Using PHP to Extract Image Exif Data

IBM developerWorks: Understanding the Zend Framework,Part 4: When there is no feed, Zend_HTTP_Client


Community Events





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


language version composer package release security framework interview mvc series community tool update library introduction voicesoftheelephpant podcast laravel opinion symfony

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