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