CommentsExplainingCodeCatchingexceptionsand loggingonlyErrorcodesinstead ofexceptionRequireshorizontalscrollingMessageChains –a.b().c().d()trainwreckToo manyarguments(>3)Missingsummarycomment ona publicmethodMultipleReturnPointsvariabledeclaredfar fromits usageverticalopennessbetweenconceptsViolatesCommand-QuerySeparationCodeDuplicationLongMethodCommentedOut CodeDeepNestingDependentfunctionsare farapartlargefunctionswith nestedstructuresUnpronounceablenamingUseof punSwitchStatementAbuseNon-searchablevariablenameToo ManyResponsibilitiesmissinglegalcommentsConfusingNamingCommentsExplainingCodeCatchingexceptionsand loggingonlyErrorcodesinstead ofexceptionRequireshorizontalscrollingMessageChains –a.b().c().d()trainwreckToo manyarguments(>3)Missingsummarycomment ona publicmethodMultipleReturnPointsvariabledeclaredfar fromits usageverticalopennessbetweenconceptsViolatesCommand-QuerySeparationCodeDuplicationLongMethodCommentedOut CodeDeepNestingDependentfunctionsare farapartlargefunctionswith nestedstructuresUnpronounceablenamingUseof punSwitchStatementAbuseNon-searchablevariablenameToo ManyResponsibilitiesmissinglegalcommentsConfusingNaming

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