Too manyarguments(>3)Useof punConfusingNamingUnpronounceablenamingSwitchStatementAbuseNon-searchablevariablenameToo ManyResponsibilitiesMultipleReturnPointsMessageChains –a.b().c().d()trainwreckCatchingexceptionsand loggingonlyErrorcodesinstead ofexceptionvariabledeclaredfar fromits usageDependentfunctionsare farapartmissinglegalcommentslargefunctionswith nestedstructuresDeepNestingCommentsExplainingCodeMissingsummarycomment ona publicmethodViolatesCommand-QuerySeparationCodeDuplicationCommentedOut CodeverticalopennessbetweenconceptsLongMethodRequireshorizontalscrollingToo manyarguments(>3)Useof punConfusingNamingUnpronounceablenamingSwitchStatementAbuseNon-searchablevariablenameToo ManyResponsibilitiesMultipleReturnPointsMessageChains –a.b().c().d()trainwreckCatchingexceptionsand loggingonlyErrorcodesinstead ofexceptionvariabledeclaredfar fromits usageDependentfunctionsare farapartmissinglegalcommentslargefunctionswith nestedstructuresDeepNestingCommentsExplainingCodeMissingsummarycomment ona publicmethodViolatesCommand-QuerySeparationCodeDuplicationCommentedOut CodeverticalopennessbetweenconceptsLongMethodRequireshorizontalscrolling

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