Skip to main content

When Software Smells Bad

Article

When Software Smells Bad

Article by William Wake, Dr. Kevin Rutherford | Comments: (0) | Fri, 10/14/2011 - 1:00am
Summary:

Most software needs to be "maintainable" and have high "internal quality." But what does that mean in practical terms? Code smells form a vocabulary for discussing code quality and how well suited code might be to change. The smells also provide good indications as to what to refactor and how.

Imagine a piece of software that works correctly and yet doesn't "feel" well written. How could you describe the code's quality in concrete terms? How do you convert the vague notion—"this is poor code"—into a plan for fixing it?

About The Author: William Wake

Currently a senior coach with Industrial Logic, Inc., Bill Wake previously managed software development at Gene Codes Forensics and was an independent consultant. He has been teaching, writing about, and coaching XP and agile methods since 2000 and has worked with teams in a variety of domains, including biotechnology, financial systems, Web sales, and more. Living near Ann Arbor MI, Bill is the author/co-author of several books, including Design Patterns in Java and most recently, Refactoring in Ruby. His personal Web site is at xp123.com; Industrial Logic's is http://www.industriallogic.com/.

About The Author: Dr. Kevin Rutherford

Dr. Kevin Rutherford is a UK-based agile/XP coach, developer, and project leader with more than twenty-five years’ experience in software development. He is the founder of AgileNorth and XP-Manchester, co-author of Refactoring in Ruby, and developed the Reek tool for detecting smells in Ruby source code. Contact Kevin at www.kevinrutherford.co.uk.