Too ManyResponsibilitiesMultipleReturnPointsCatchingexceptionsand loggingonlyDeepNestingDependentfunctionsare farapartErrorcodesinstead ofexceptionRequireshorizontalscrollingToo manyarguments(>3)Non-searchablevariablenameConfusingNamingMissingsummarycomment ona publicmethodverticalopennessbetweenconceptsUseof punvariabledeclaredfar fromits usageMessageChains –a.b().c().d()trainwreckUnpronounceablenamingLongMethodCommentedOut Codemissinglegalcommentslargefunctionswith nestedstructuresViolatesCommand-QuerySeparationCodeDuplicationCommentsExplainingCodeSwitchStatementAbuseToo ManyResponsibilitiesMultipleReturnPointsCatchingexceptionsand loggingonlyDeepNestingDependentfunctionsare farapartErrorcodesinstead ofexceptionRequireshorizontalscrollingToo manyarguments(>3)Non-searchablevariablenameConfusingNamingMissingsummarycomment ona publicmethodverticalopennessbetweenconceptsUseof punvariabledeclaredfar fromits usageMessageChains –a.b().c().d()trainwreckUnpronounceablenamingLongMethodCommentedOut Codemissinglegalcommentslargefunctionswith nestedstructuresViolatesCommand-QuerySeparationCodeDuplicationCommentsExplainingCodeSwitchStatementAbuse

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