Whether or not comments are really a code smell is a hotly debated topic. Some advocate no comments in code, arguing that class, method, input parameter and identifier names should be constructed in such a way as to make clear what the code is and does. The presence of any comments, they say, indicates that your code needs to be refactored. However, many others argue that some comments are fine and can be useful, in particular when they tell you the why of the code. Most agree, though, that comments which only tell you what something does indicate that some cleanup is called for. When it comes to comments, “Just the facts, ma’am,” isn’t the way to go.