MultipleReturnPointsvariabledeclaredfar fromits usageCommentsExplainingCodeLongMethodlargefunctionswith nestedstructuresverticalopennessbetweenconceptsCommentedOut CodeToo manyarguments(>3)ViolatesCommand-QuerySeparationMessageChains –a.b().c().d()trainwreckRepetitiveNamingCatchingexceptionsand loggingonlyToo ManyResponsibilitiesNon-searchablevariablenameUnpronounceable/Confusing namingCodeDuplicationErrorcodesinstead ofexceptionFree!SwitchStatementAbuseRequireshorizontalscrollingDependentfunctionsare farapartMultipleReturnPointsvariabledeclaredfar fromits usageCommentsExplainingCodeLongMethodlargefunctionswith nestedstructuresverticalopennessbetweenconceptsCommentedOut CodeToo manyarguments(>3)ViolatesCommand-QuerySeparationMessageChains –a.b().c().d()trainwreckRepetitiveNamingCatchingexceptionsand loggingonlyToo ManyResponsibilitiesNon-searchablevariablenameUnpronounceable/Confusing namingCodeDuplicationErrorcodesinstead ofexceptionFree!SwitchStatementAbuseRequireshorizontalscrollingDependentfunctionsare farapart

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