ViolatesCommand-QuerySeparationverticalopennessbetweenconceptsSwitchStatementAbuseUseof punlargefunctionswith nestedstructuresDependentfunctionsare farapartvariabledeclaredfar fromits usageConfusingNamingLongMethodToo ManyResponsibilitiesCodeDuplicationMultipleReturnPointsMessageChains –a.b().c().d()trainwreckErrorcodesinstead ofexceptionDeepNestingCatchingexceptionsand loggingonlyRequireshorizontalscrollingCommentsExplainingCodemissinglegalcommentsMissingsummarycomment ona publicmethodCommentedOut CodeNon-searchablevariablenameUnpronounceablenamingToo manyarguments(>3)ViolatesCommand-QuerySeparationverticalopennessbetweenconceptsSwitchStatementAbuseUseof punlargefunctionswith nestedstructuresDependentfunctionsare farapartvariabledeclaredfar fromits usageConfusingNamingLongMethodToo ManyResponsibilitiesCodeDuplicationMultipleReturnPointsMessageChains –a.b().c().d()trainwreckErrorcodesinstead ofexceptionDeepNestingCatchingexceptionsand loggingonlyRequireshorizontalscrollingCommentsExplainingCodemissinglegalcommentsMissingsummarycomment ona publicmethodCommentedOut CodeNon-searchablevariablenameUnpronounceablenamingToo manyarguments(>3)

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