LongMethodViolatesCommand-QuerySeparationCommentedOut CodeRequireshorizontalscrollingCommentsExplainingCodeNon-searchablevariablenameErrorcodesinstead ofexceptionCodeDuplicationToo ManyResponsibilitiesCatchingexceptionsand loggingonlyToo manyarguments(>3)MultipleReturnPointsverticalopennessbetweenconceptsUnpronounceablenamingSwitchStatementAbusemissinglegalcommentsMessageChains –a.b().c().d()trainwreckvariabledeclaredfar fromits usageUseof punConfusingNamingDeepNestinglargefunctionswith nestedstructuresMissingsummarycomment ona publicmethodDependentfunctionsare farapartLongMethodViolatesCommand-QuerySeparationCommentedOut CodeRequireshorizontalscrollingCommentsExplainingCodeNon-searchablevariablenameErrorcodesinstead ofexceptionCodeDuplicationToo ManyResponsibilitiesCatchingexceptionsand loggingonlyToo manyarguments(>3)MultipleReturnPointsverticalopennessbetweenconceptsUnpronounceablenamingSwitchStatementAbusemissinglegalcommentsMessageChains –a.b().c().d()trainwreckvariabledeclaredfar fromits usageUseof punConfusingNamingDeepNestinglargefunctionswith nestedstructuresMissingsummarycomment ona publicmethodDependentfunctionsare farapart

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