CodeDuplicationErrorcodesinstead ofexceptionverticalopennessbetweenconceptsMultipleReturnPointsMessageChains –a.b().c().d()trainwreckCommentsExplainingCodeLongMethodSwitchStatementAbuseToo ManyResponsibilitiesConfusingNamingDeepNestingViolatesCommand-QuerySeparationFree!RequireshorizontalscrollingUnpronounceablenamingvariabledeclaredfar fromits usagelargefunctionswith nestedstructuresUseof punToo manyarguments(>3)CommentedOut CodeNon-searchablevariablenameCatchingexceptionsand loggingonlyDependentfunctionsare farapartCodeDuplicationErrorcodesinstead ofexceptionverticalopennessbetweenconceptsMultipleReturnPointsMessageChains –a.b().c().d()trainwreckCommentsExplainingCodeLongMethodSwitchStatementAbuseToo ManyResponsibilitiesConfusingNamingDeepNestingViolatesCommand-QuerySeparationFree!RequireshorizontalscrollingUnpronounceablenamingvariabledeclaredfar fromits usagelargefunctionswith nestedstructuresUseof punToo manyarguments(>3)CommentedOut CodeNon-searchablevariablenameCatchingexceptionsand loggingonlyDependentfunctionsare farapart

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