DeepNestingDependentfunctionsare farapartCommentedOut Codevariabledeclaredfar fromits usageViolatesCommand-QuerySeparationmissinglegalcommentsToo manyarguments(>3)CommentsExplainingCodelargefunctionswith nestedstructuresMultipleReturnPointsverticalopennessbetweenconceptsConfusingNamingUnpronounceablenamingSwitchStatementAbuseMissingsummarycomment ona publicmethodCatchingexceptionsand loggingonlyRequireshorizontalscrollingNon-searchablevariablenameLongMethodToo ManyResponsibilitiesRepetitiveNamingErrorcodesinstead ofexceptionCodeDuplicationMessageChains –a.b().c().d()trainwreckDeepNestingDependentfunctionsare farapartCommentedOut Codevariabledeclaredfar fromits usageViolatesCommand-QuerySeparationmissinglegalcommentsToo manyarguments(>3)CommentsExplainingCodelargefunctionswith nestedstructuresMultipleReturnPointsverticalopennessbetweenconceptsConfusingNamingUnpronounceablenamingSwitchStatementAbuseMissingsummarycomment ona publicmethodCatchingexceptionsand loggingonlyRequireshorizontalscrollingNon-searchablevariablenameLongMethodToo ManyResponsibilitiesRepetitiveNamingErrorcodesinstead ofexceptionCodeDuplicationMessageChains –a.b().c().d()trainwreck

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