Free!ConfusingNamingDependentfunctionsare farapartToo manyarguments(>3)ViolatesCommand-QuerySeparationCommentedOut CodeUseof punSwitchStatementAbuseverticalopennessbetweenconceptsMultipleReturnPointsCodeDuplicationMessageChains –a.b().c().d()trainwreckCatchingexceptionsand loggingonlyCommentsExplainingCodeLongMethodToo ManyResponsibilitiesErrorcodesinstead ofexceptionRequireshorizontalscrollingUnpronounceablenamingvariabledeclaredfar fromits usagelargefunctionswith nestedstructuresNon-searchablevariablenameDeepNestingFree!ConfusingNamingDependentfunctionsare farapartToo manyarguments(>3)ViolatesCommand-QuerySeparationCommentedOut CodeUseof punSwitchStatementAbuseverticalopennessbetweenconceptsMultipleReturnPointsCodeDuplicationMessageChains –a.b().c().d()trainwreckCatchingexceptionsand loggingonlyCommentsExplainingCodeLongMethodToo ManyResponsibilitiesErrorcodesinstead ofexceptionRequireshorizontalscrollingUnpronounceablenamingvariabledeclaredfar fromits usagelargefunctionswith nestedstructuresNon-searchablevariablenameDeepNesting

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