MessageChains –a.b().c().d()trainwreckLongMethodverticalopennessbetweenconceptsConfusingNamingToo manyarguments(>3)variabledeclaredfar fromits usageNon-searchablevariablenameCatchingexceptionsand loggingonlyMultipleReturnPointsUnpronounceablenamingSwitchStatementAbuselargefunctionswith nestedstructuresCodeDuplicationRequireshorizontalscrollingDependentfunctionsare farapartUseof punErrorcodesinstead ofexceptionCommentsExplainingCodeFree!CommentedOut CodeViolatesCommand-QuerySeparationDeepNestingToo ManyResponsibilitiesMessageChains –a.b().c().d()trainwreckLongMethodverticalopennessbetweenconceptsConfusingNamingToo manyarguments(>3)variabledeclaredfar fromits usageNon-searchablevariablenameCatchingexceptionsand loggingonlyMultipleReturnPointsUnpronounceablenamingSwitchStatementAbuselargefunctionswith nestedstructuresCodeDuplicationRequireshorizontalscrollingDependentfunctionsare farapartUseof punErrorcodesinstead ofexceptionCommentsExplainingCodeFree!CommentedOut CodeViolatesCommand-QuerySeparationDeepNestingToo ManyResponsibilities

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