Adventures in Software Engineering

Code Smells

C

A code smell was defined by Martin Fowler as a “surface indication that usually corresponds to a deeper problem in the system”. They are mistakes made during the development of software that should be considered as warning flags to deeper problems.

A Taxonomy of Smells

Mäntylä and Lassenius considered the major code smells and broke them into a number of groupings, a taxonomy that describes the aspects they concern. These are documented below, and each page provides a thorough overview of the issue alongside details of the refactorings that can be applied to correct the issue.

Bloaters
Object-Orientation Abusers
Change Preventers
Change Preventers
Couplers
More Stinkers
Adventures in Software Engineering

Johnathan Meehan

Johnathan Meehan

I’m a software engineer with more years and stomach under my belt than I would like. I have an odd sense of humour and a predilection for junk food, whiskey and beer. My first job was in 68K on God’s computer, the Commodore Amiga. Since then I’ve worked here, there and everywhere being paid to play with all kinds of fun things and once even nibbled around the edges of being an Apache committer. Most time now is spent with Java, and I put a heavy emphasis on quality. When I grow up, I want to be just like Oscar Mike.

Recommended Host