A free sample chapter from Packt Enterprise's book: Refactoring with Microsoft Visual Studio 2010.
Larry Constantine is attributed with the creation of systematic measurement of software quality. In the mid-to-late seventies, Larry Constantine (and Ed Yourdon) attributed several things to the quality of software code. Under the umbrella of structured design, among those attributes of quality software code were cohesion and coupling. At the time they associated quality with generality, flexibility, and reliability. This chapter will concentrate on generality and flexibility and how cohesion and coupling can be applied to increase code quality.
You'll review what it is to be highly cohesive and loosely coupled. See what it means to be non-cohesive and how to detect certain non-cohesiveness through metrics. With some simple refactoring you can make something cohesive where it was previously not. By refactoring your code to be more cohesive and less coupled, you'll improve the maintainability of your code base. Classes are easier to move or reuse and you're less likely to repeat yourself. Changes are now easier to make because you've decreased the dependencies.
Packt Enterprise books can be summed up through the tagline "Professional Expertise Distilled". They take in-the-trenches knowledge from experienced software professionals, and distil it into a single, easy to follow manuscript.