LongMethodViolatesCommand-QuerySeparationToo ManyResponsibilitieslargefunctionswith nestedstructuresErrorcodesinstead ofexceptionverticalopennessbetweenconceptsMultipleReturnPointsSwitchStatementAbuseDependentfunctionsare farapartCommentedOut CodeUnpronounceable/Confusing namingNon-searchablevariablenameMessageChains –a.b().c().d()trainwreckCatchingexceptionsand loggingonlyvariabledeclaredfar fromits usageToo manyarguments(>3)RequireshorizontalscrollingCommentsExplainingCodeCodeDuplicationRepetitiveNamingFree!LongMethodViolatesCommand-QuerySeparationToo ManyResponsibilitieslargefunctionswith nestedstructuresErrorcodesinstead ofexceptionverticalopennessbetweenconceptsMultipleReturnPointsSwitchStatementAbuseDependentfunctionsare farapartCommentedOut CodeUnpronounceable/Confusing namingNon-searchablevariablenameMessageChains –a.b().c().d()trainwreckCatchingexceptionsand loggingonlyvariabledeclaredfar fromits usageToo manyarguments(>3)RequireshorizontalscrollingCommentsExplainingCodeCodeDuplicationRepetitiveNamingFree!

Code Smell Bingo!! - Call List

(Print) Use this randomly generated list as your call list when playing the game. There is no need to say the BINGO column name. Place some kind of mark (like an X, a checkmark, a dot, tally mark, etc) on each cell as you announce it, to keep track. You can also cut out each item, place them in a bag and pull words from the bag.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  1. Long Method
  2. Violates Command-Query Separation
  3. Too Many Responsibilities
  4. large functions with nested structures
  5. Error codes instead of exception
  6. vertical openness between concepts
  7. Multiple Return Points
  8. Switch Statement Abuse
  9. Dependent functions are far apart
  10. Commented Out Code
  11. Unpronounceable/ Confusing naming
  12. Non-searchable variable name
  13. Message Chains – a.b().c().d() trainwreck
  14. Catching exceptions and logging only
  15. variable declared far from its usage
  16. Too many arguments (>3)
  17. Requires horizontal scrolling
  18. Comments Explaining Code
  19. Code Duplication
  20. Repetitive Naming
  21. Free!