Exploring the Eradication of Code Smells: An Empirical and Theoretical Perspective. (1st March 2011)