Errorcodesinstead ofexceptionConfusingNamingCommentsExplainingCodeCodeDuplicationMultipleReturnPointsSwitchStatementAbusevariabledeclaredfar fromits usageUnpronounceablenamingViolatesCommand-QuerySeparationDeepNestingNon-searchablevariablenameverticalopennessbetweenconceptsCommentedOut CodeCatchingexceptionsand loggingonlyDependentfunctionsare farapartRequireshorizontalscrollingToo ManyResponsibilitieslargefunctionswith nestedstructuresUseof punMessageChains –a.b().c().d()trainwreckToo manyarguments(>3)LongMethodFree!Errorcodesinstead ofexceptionConfusingNamingCommentsExplainingCodeCodeDuplicationMultipleReturnPointsSwitchStatementAbusevariabledeclaredfar fromits usageUnpronounceablenamingViolatesCommand-QuerySeparationDeepNestingNon-searchablevariablenameverticalopennessbetweenconceptsCommentedOut CodeCatchingexceptionsand loggingonlyDependentfunctionsare farapartRequireshorizontalscrollingToo ManyResponsibilitieslargefunctionswith nestedstructuresUseof punMessageChains –a.b().c().d()trainwreckToo manyarguments(>3)LongMethodFree!

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