====== Code Smell ====== A code smell is a **hint** that something //might// be wrong somewhere in your code. I have seen various versions on the Internet listing what code is considered code smell. I agree with some, don't agree with others. Here is what __//**I consider to be code smell**//__: * Duplicate Code * Long Method (any method longer than 30 lines) * Large Class (> 1000 lines of "code, comments, and blank lines" when properly formatted) * Parameter List with more than 5 parameters * Methods that do not contain a verb * Properties that do contain a verb * Same Name, Different Meaning * Excessive Overloading * Classes that do not do **//just one thing//** * Too many comments. The code itself should explain what it is doing. Comments should explain business rules or why a particular algorithm was used. * Long Class, Method, or Property names * Temporary Fields * Too many conditionals * Double-Negatives * "Magic" Numbers * More than one type (class, interface, enum, etc.) per file.