CodeDuplicationSwitchStatementAbuseMessageChains –a.b().c().d()trainwreckCatchingexceptionsand loggingonlylargefunctionswith nestedstructuresUnpronounceablenamingConfusingNamingLongMethodUseof punmissinglegalcommentsDeepNestingDependentfunctionsare farapartNon-searchablevariablenameMissingsummarycomment ona publicmethodverticalopennessbetweenconceptsCommentedOut CodeMultipleReturnPointsToo manyarguments(>3)Errorcodesinstead ofexceptionvariabledeclaredfar fromits usageToo ManyResponsibilitiesCommentsExplainingCodeRequireshorizontalscrollingViolatesCommand-QuerySeparationCodeDuplicationSwitchStatementAbuseMessageChains –a.b().c().d()trainwreckCatchingexceptionsand loggingonlylargefunctionswith nestedstructuresUnpronounceablenamingConfusingNamingLongMethodUseof punmissinglegalcommentsDeepNestingDependentfunctionsare farapartNon-searchablevariablenameMissingsummarycomment ona publicmethodverticalopennessbetweenconceptsCommentedOut CodeMultipleReturnPointsToo manyarguments(>3)Errorcodesinstead ofexceptionvariabledeclaredfar fromits usageToo ManyResponsibilitiesCommentsExplainingCodeRequireshorizontalscrollingViolatesCommand-QuerySeparation

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