Catchingexceptionsand loggingonlyToo ManyResponsibilitiesCommentsExplainingCodeRequireshorizontalscrollingErrorcodesinstead ofexceptionSwitchStatementAbuseLongMethodlargefunctionswith nestedstructuresNon-searchablevariablenameDeepNestingverticalopennessbetweenconceptsConfusingNamingMessageChains –a.b().c().d()trainwreckCommentedOut CodeToo manyarguments(>3)ViolatesCommand-QuerySeparationDependentfunctionsare farapartFree!UnpronounceablenamingUseof punCodeDuplicationvariabledeclaredfar fromits usageMultipleReturnPointsCatchingexceptionsand loggingonlyToo ManyResponsibilitiesCommentsExplainingCodeRequireshorizontalscrollingErrorcodesinstead ofexceptionSwitchStatementAbuseLongMethodlargefunctionswith nestedstructuresNon-searchablevariablenameDeepNestingverticalopennessbetweenconceptsConfusingNamingMessageChains –a.b().c().d()trainwreckCommentedOut CodeToo manyarguments(>3)ViolatesCommand-QuerySeparationDependentfunctionsare farapartFree!UnpronounceablenamingUseof punCodeDuplicationvariabledeclaredfar fromits usageMultipleReturnPoints

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