• Long method

    A long method is a code smell. It is a well known fact that the longer a method is, the harder it is to understand. Smaller methods might be harder to follow because there are deep sequences of delegation.

  • Primitive Obsession

    Primitive obsession is a code smell. Primitive in this context refers to programming language primitive data types. Obsession refers to always using these data types to represent domain ideas. The concept of primitive can be extended to include language base classes.

  • Large Class

    A large class is a code smell very similar to a long method. Some might argue that a lot of small classes make the code harder to follow. However, the exact opposite happens with proper splitting of responsibilities between the classes and naming them accordingly.

  • Long Parameter List

    Long parameter list in a method call is a code smell. It indicates that there might be something wrong with the implementation. There is no single rule for how many is too many parameters.