largefunctionswith nestedstructuresUseof punConfusingNamingMultipleReturnPointsSwitchStatementAbuseLongMethodCodeDuplicationErrorcodesinstead ofexceptionUnpronounceablenamingNon-searchablevariablenamevariabledeclaredfar fromits usageDeepNestingToo ManyResponsibilitiesCommentsExplainingCodeFree!MessageChains –a.b().c().d()trainwreckDependentfunctionsare farapartViolatesCommand-QuerySeparationCatchingexceptionsand loggingonlyverticalopennessbetweenconceptsToo manyarguments(>3)RequireshorizontalscrollingCommentedOut Codelargefunctionswith nestedstructuresUseof punConfusingNamingMultipleReturnPointsSwitchStatementAbuseLongMethodCodeDuplicationErrorcodesinstead ofexceptionUnpronounceablenamingNon-searchablevariablenamevariabledeclaredfar fromits usageDeepNestingToo ManyResponsibilitiesCommentsExplainingCodeFree!MessageChains –a.b().c().d()trainwreckDependentfunctionsare farapartViolatesCommand-QuerySeparationCatchingexceptionsand loggingonlyverticalopennessbetweenconceptsToo manyarguments(>3)RequireshorizontalscrollingCommentedOut Code

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