Dependentfunctionsare farapartCodeDuplicationMessageChains –a.b().c().d()trainwreckvariabledeclaredfar fromits usageSwitchStatementAbuseCommentsExplainingCodeCatchingexceptionsand loggingonlyErrorcodesinstead ofexceptionMultipleReturnPointsFree!RequireshorizontalscrollingToo ManyResponsibilitiesverticalopennessbetweenconceptsCommentedOut Codelargefunctionswith nestedstructuresLongMethodRepetitiveNamingViolatesCommand-QuerySeparationToo manyarguments(>3)Unpronounceable/Confusing namingNon-searchablevariablenameDependentfunctionsare farapartCodeDuplicationMessageChains –a.b().c().d()trainwreckvariabledeclaredfar fromits usageSwitchStatementAbuseCommentsExplainingCodeCatchingexceptionsand loggingonlyErrorcodesinstead ofexceptionMultipleReturnPointsFree!RequireshorizontalscrollingToo ManyResponsibilitiesverticalopennessbetweenconceptsCommentedOut Codelargefunctionswith nestedstructuresLongMethodRepetitiveNamingViolatesCommand-QuerySeparationToo manyarguments(>3)Unpronounceable/Confusing namingNon-searchablevariablename

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