Too manyarguments(>3)MessageChains –a.b().c().d()trainwreckCommentedOut CodeErrorcodesinstead ofexceptionNon-searchablevariablenameLongMethodViolatesCommand-QuerySeparationSwitchStatementAbuseCatchingexceptionsand loggingonlyMultipleReturnPointsRequireshorizontalscrollingCodeDuplicationCommentsExplainingCodeFree!Too ManyResponsibilitiesvariabledeclaredfar fromits usageUnpronounceable/Confusing namingverticalopennessbetweenconceptsDependentfunctionsare farapartlargefunctionswith nestedstructuresRepetitiveNamingToo manyarguments(>3)MessageChains –a.b().c().d()trainwreckCommentedOut CodeErrorcodesinstead ofexceptionNon-searchablevariablenameLongMethodViolatesCommand-QuerySeparationSwitchStatementAbuseCatchingexceptionsand loggingonlyMultipleReturnPointsRequireshorizontalscrollingCodeDuplicationCommentsExplainingCodeFree!Too ManyResponsibilitiesvariabledeclaredfar fromits usageUnpronounceable/Confusing namingverticalopennessbetweenconceptsDependentfunctionsare farapartlargefunctionswith nestedstructuresRepetitiveNaming

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