Dependentfunctionsare farapartLongMethodvariabledeclaredfar fromits usageCodeDuplicationToo manyarguments(>3)CommentsExplainingCodeUnpronounceablenaminglargefunctionswith nestedstructuresUseof punErrorcodesinstead ofexceptionViolatesCommand-QuerySeparationNon-searchablevariablenameCatchingexceptionsand loggingonlyRequireshorizontalscrollingverticalopennessbetweenconceptsDeepNestingSwitchStatementAbuseToo ManyResponsibilitiesMultipleReturnPointsMissingsummarycomment ona publicmethodCommentedOut CodemissinglegalcommentsMessageChains –a.b().c().d()trainwreckConfusingNamingDependentfunctionsare farapartLongMethodvariabledeclaredfar fromits usageCodeDuplicationToo manyarguments(>3)CommentsExplainingCodeUnpronounceablenaminglargefunctionswith nestedstructuresUseof punErrorcodesinstead ofexceptionViolatesCommand-QuerySeparationNon-searchablevariablenameCatchingexceptionsand loggingonlyRequireshorizontalscrollingverticalopennessbetweenconceptsDeepNestingSwitchStatementAbuseToo ManyResponsibilitiesMultipleReturnPointsMissingsummarycomment ona publicmethodCommentedOut CodemissinglegalcommentsMessageChains –a.b().c().d()trainwreckConfusingNaming

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