SwitchStatementAbuseCommentsExplainingCodeToo ManyResponsibilitiesNon-searchablevariablenameCodeDuplicationRequireshorizontalscrollingCommentedOut CodeDependentfunctionsare farapartDeepNestingverticalopennessbetweenconceptsMessageChains –a.b().c().d()trainwreckUnpronounceablenamingMultipleReturnPointsUseof punFree!LongMethodViolatesCommand-QuerySeparationConfusingNamingErrorcodesinstead ofexceptionCatchingexceptionsand loggingonlyToo manyarguments(>3)variabledeclaredfar fromits usagelargefunctionswith nestedstructuresSwitchStatementAbuseCommentsExplainingCodeToo ManyResponsibilitiesNon-searchablevariablenameCodeDuplicationRequireshorizontalscrollingCommentedOut CodeDependentfunctionsare farapartDeepNestingverticalopennessbetweenconceptsMessageChains –a.b().c().d()trainwreckUnpronounceablenamingMultipleReturnPointsUseof punFree!LongMethodViolatesCommand-QuerySeparationConfusingNamingErrorcodesinstead ofexceptionCatchingexceptionsand loggingonlyToo manyarguments(>3)variabledeclaredfar fromits usagelargefunctionswith nestedstructures

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