RequireshorizontalscrollingUseof punlargefunctionswith nestedstructuresToo manyarguments(>3)verticalopennessbetweenconceptsUnpronounceablenamingmissinglegalcommentsCommentsExplainingCodeSwitchStatementAbuseDependentfunctionsare farapartLongMethodCatchingexceptionsand loggingonlyNon-searchablevariablenameToo ManyResponsibilitiesErrorcodesinstead ofexceptionViolatesCommand-QuerySeparationvariabledeclaredfar fromits usageCodeDuplicationDeepNestingConfusingNamingCommentedOut CodeMessageChains –a.b().c().d()trainwreckMultipleReturnPointsMissingsummarycomment ona publicmethodRequireshorizontalscrollingUseof punlargefunctionswith nestedstructuresToo manyarguments(>3)verticalopennessbetweenconceptsUnpronounceablenamingmissinglegalcommentsCommentsExplainingCodeSwitchStatementAbuseDependentfunctionsare farapartLongMethodCatchingexceptionsand loggingonlyNon-searchablevariablenameToo ManyResponsibilitiesErrorcodesinstead ofexceptionViolatesCommand-QuerySeparationvariabledeclaredfar fromits usageCodeDuplicationDeepNestingConfusingNamingCommentedOut CodeMessageChains –a.b().c().d()trainwreckMultipleReturnPointsMissingsummarycomment ona publicmethod

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