CommentedOut CodeCommentsExplainingCodeConfusingNamingDeepNestingverticalopennessbetweenconceptsToo manyarguments(>3)largefunctionswith nestedstructuresCodeDuplicationErrorcodesinstead ofexceptionRequireshorizontalscrollingvariabledeclaredfar fromits usageUnpronounceablenamingSwitchStatementAbuseMultipleReturnPointsMessageChains –a.b().c().d()trainwreckFree!ViolatesCommand-QuerySeparationLongMethodUseof punToo ManyResponsibilitiesNon-searchablevariablenameDependentfunctionsare farapartCatchingexceptionsand loggingonlyCommentedOut CodeCommentsExplainingCodeConfusingNamingDeepNestingverticalopennessbetweenconceptsToo manyarguments(>3)largefunctionswith nestedstructuresCodeDuplicationErrorcodesinstead ofexceptionRequireshorizontalscrollingvariabledeclaredfar fromits usageUnpronounceablenamingSwitchStatementAbuseMultipleReturnPointsMessageChains –a.b().c().d()trainwreckFree!ViolatesCommand-QuerySeparationLongMethodUseof punToo ManyResponsibilitiesNon-searchablevariablenameDependentfunctionsare farapartCatchingexceptionsand loggingonly

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