Non-searchablevariablenameMultipleReturnPointsRequireshorizontalscrollingRepetitiveNamingToo ManyResponsibilitiesvariabledeclaredfar fromits usageUnpronounceable/Confusing namingMessageChains –a.b().c().d()trainwreckErrorcodesinstead ofexceptionlargefunctionswith nestedstructuresCatchingexceptionsand loggingonlyToo manyarguments(>3)CommentedOut CodeLongMethodDependentfunctionsare farapartSwitchStatementAbuseFree!CommentsExplainingCodeViolatesCommand-QuerySeparationverticalopennessbetweenconceptsCodeDuplicationNon-searchablevariablenameMultipleReturnPointsRequireshorizontalscrollingRepetitiveNamingToo ManyResponsibilitiesvariabledeclaredfar fromits usageUnpronounceable/Confusing namingMessageChains –a.b().c().d()trainwreckErrorcodesinstead ofexceptionlargefunctionswith nestedstructuresCatchingexceptionsand loggingonlyToo manyarguments(>3)CommentedOut CodeLongMethodDependentfunctionsare farapartSwitchStatementAbuseFree!CommentsExplainingCodeViolatesCommand-QuerySeparationverticalopennessbetweenconceptsCodeDuplication

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