Too ManyResponsibilitiesCodeDuplicationCatchingexceptionsand loggingonlyverticalopennessbetweenconceptsvariabledeclaredfar fromits usageSwitchStatementAbuseCommentedOut CodeViolatesCommand-QuerySeparationErrorcodesinstead ofexceptionFree!largefunctionswith nestedstructuresUnpronounceable/Confusing namingDependentfunctionsare farapartCommentsExplainingCodeNon-searchablevariablenameToo manyarguments(>3)RepetitiveNamingLongMethodMultipleReturnPointsRequireshorizontalscrollingMessageChains –a.b().c().d()trainwreckToo ManyResponsibilitiesCodeDuplicationCatchingexceptionsand loggingonlyverticalopennessbetweenconceptsvariabledeclaredfar fromits usageSwitchStatementAbuseCommentedOut CodeViolatesCommand-QuerySeparationErrorcodesinstead ofexceptionFree!largefunctionswith nestedstructuresUnpronounceable/Confusing namingDependentfunctionsare farapartCommentsExplainingCodeNon-searchablevariablenameToo manyarguments(>3)RepetitiveNamingLongMethodMultipleReturnPointsRequireshorizontalscrollingMessageChains –a.b().c().d()trainwreck

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