Dependentfunctionsare farapartCommentedOut CodeMissingsummarycomment ona publicmethodlargefunctionswith nestedstructuresCommentsExplainingCodeMessageChains –a.b().c().d()trainwreckUnpronounceablenamingViolatesCommand-QuerySeparationCatchingexceptionsand loggingonlyToo manyarguments(>3)CodeDuplicationNon-searchablevariablenameLongMethodmissinglegalcommentsToo ManyResponsibilitiesvariabledeclaredfar fromits usageErrorcodesinstead ofexceptionSwitchStatementAbuseUseof punConfusingNamingMultipleReturnPointsverticalopennessbetweenconceptsRequireshorizontalscrollingDeepNestingDependentfunctionsare farapartCommentedOut CodeMissingsummarycomment ona publicmethodlargefunctionswith nestedstructuresCommentsExplainingCodeMessageChains –a.b().c().d()trainwreckUnpronounceablenamingViolatesCommand-QuerySeparationCatchingexceptionsand loggingonlyToo manyarguments(>3)CodeDuplicationNon-searchablevariablenameLongMethodmissinglegalcommentsToo ManyResponsibilitiesvariabledeclaredfar fromits usageErrorcodesinstead ofexceptionSwitchStatementAbuseUseof punConfusingNamingMultipleReturnPointsverticalopennessbetweenconceptsRequireshorizontalscrollingDeepNesting

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