Unpronounceablenamingvariabledeclaredfar fromits usageUseof punToo ManyResponsibilitieslargefunctionswith nestedstructuresErrorcodesinstead ofexceptionCatchingexceptionsand loggingonlyCommentsExplainingCodeSwitchStatementAbuseDeepNestingMultipleReturnPointsConfusingNamingmissinglegalcommentsLongMethodToo manyarguments(>3)CommentedOut CodeMissingsummarycomment ona publicmethodViolatesCommand-QuerySeparationRequireshorizontalscrollingDependentfunctionsare farapartverticalopennessbetweenconceptsCodeDuplicationMessageChains –a.b().c().d()trainwreckNon-searchablevariablenameUnpronounceablenamingvariabledeclaredfar fromits usageUseof punToo ManyResponsibilitieslargefunctionswith nestedstructuresErrorcodesinstead ofexceptionCatchingexceptionsand loggingonlyCommentsExplainingCodeSwitchStatementAbuseDeepNestingMultipleReturnPointsConfusingNamingmissinglegalcommentsLongMethodToo manyarguments(>3)CommentedOut CodeMissingsummarycomment ona publicmethodViolatesCommand-QuerySeparationRequireshorizontalscrollingDependentfunctionsare farapartverticalopennessbetweenconceptsCodeDuplicationMessageChains –a.b().c().d()trainwreckNon-searchablevariablename

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