Free!Catchingexceptionsand loggingonlyConfusingNamingverticalopennessbetweenconceptsSwitchStatementAbuseViolatesCommand-QuerySeparationUnpronounceablenamingNon-searchablevariablenameDeepNestingRequireshorizontalscrollingMessageChains –a.b().c().d()trainwreckLongMethodToo ManyResponsibilitieslargefunctionswith nestedstructuresUseof punCodeDuplicationToo manyarguments(>3)Dependentfunctionsare farapartCommentsExplainingCodeErrorcodesinstead ofexceptionvariabledeclaredfar fromits usageMultipleReturnPointsCommentedOut CodeFree!Catchingexceptionsand loggingonlyConfusingNamingverticalopennessbetweenconceptsSwitchStatementAbuseViolatesCommand-QuerySeparationUnpronounceablenamingNon-searchablevariablenameDeepNestingRequireshorizontalscrollingMessageChains –a.b().c().d()trainwreckLongMethodToo ManyResponsibilitieslargefunctionswith nestedstructuresUseof punCodeDuplicationToo manyarguments(>3)Dependentfunctionsare farapartCommentsExplainingCodeErrorcodesinstead ofexceptionvariabledeclaredfar fromits usageMultipleReturnPointsCommentedOut Code

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