Errorcodesinstead ofexceptionViolatesCommand-QuerySeparationNon-searchablevariablenameMessageChains –a.b().c().d()trainwreckCatchingexceptionsand loggingonlyToo manyarguments(>3)CodeDuplicationSwitchStatementAbuseLongMethodDependentfunctionsare farapartMissingsummarycomment ona publicmethodverticalopennessbetweenconceptsToo ManyResponsibilitiesmissinglegalcommentsCommentsExplainingCodeRequireshorizontalscrollinglargefunctionswith nestedstructuresMultipleReturnPointsConfusingNamingCommentedOut CodeDeepNestingRepetitiveNamingUnpronounceablenamingvariabledeclaredfar fromits usageErrorcodesinstead ofexceptionViolatesCommand-QuerySeparationNon-searchablevariablenameMessageChains –a.b().c().d()trainwreckCatchingexceptionsand loggingonlyToo manyarguments(>3)CodeDuplicationSwitchStatementAbuseLongMethodDependentfunctionsare farapartMissingsummarycomment ona publicmethodverticalopennessbetweenconceptsToo ManyResponsibilitiesmissinglegalcommentsCommentsExplainingCodeRequireshorizontalscrollinglargefunctionswith nestedstructuresMultipleReturnPointsConfusingNamingCommentedOut CodeDeepNestingRepetitiveNamingUnpronounceablenamingvariabledeclaredfar fromits usage

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