Skip to main content

When Software Smells Bad

Article

When Software Smells Bad

Better Software Magazine Article by William Wake, Dr. Kevin Rutherford | Comments: (0) | Fri, 10/14/2011 - 01:00
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?

No votes yet
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.
 

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

Type the characters you see in this picture. (verify using audio)
Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated. Not case sensitive.