missinglegalcommentsDeepNestingverticalopennessbetweenconceptsvariabledeclaredfar fromits usageToo ManyResponsibilitiesConfusingNamingErrorcodesinstead ofexceptionViolatesCommand-QuerySeparationMultipleReturnPointsCatchingexceptionsand loggingonlyUseof punCodeDuplicationCommentsExplainingCodeCommentedOut CodeMissingsummarycomment ona publicmethodRequireshorizontalscrollingMessageChains –a.b().c().d()trainwreckNon-searchablevariablenamelargefunctionswith nestedstructuresUnpronounceablenamingSwitchStatementAbuseToo manyarguments(>3)LongMethodDependentfunctionsare farapartmissinglegalcommentsDeepNestingverticalopennessbetweenconceptsvariabledeclaredfar fromits usageToo ManyResponsibilitiesConfusingNamingErrorcodesinstead ofexceptionViolatesCommand-QuerySeparationMultipleReturnPointsCatchingexceptionsand loggingonlyUseof punCodeDuplicationCommentsExplainingCodeCommentedOut CodeMissingsummarycomment ona publicmethodRequireshorizontalscrollingMessageChains –a.b().c().d()trainwreckNon-searchablevariablenamelargefunctionswith nestedstructuresUnpronounceablenamingSwitchStatementAbuseToo manyarguments(>3)LongMethodDependentfunctionsare farapart

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