Too ManyResponsibilitiesCatchingexceptionsand loggingonlylargefunctionswith nestedstructuresvariabledeclaredfar fromits usageToo manyarguments(>3)Errorcodesinstead ofexceptionMultipleReturnPointsMessageChains –a.b().c().d()trainwreckViolatesCommand-QuerySeparationRepetitiveNamingDependentfunctionsare farapartLongMethodverticalopennessbetweenconceptsFree!SwitchStatementAbuseUnpronounceable/Confusing namingNon-searchablevariablenameCommentedOut CodeCodeDuplicationCommentsExplainingCodeRequireshorizontalscrollingToo ManyResponsibilitiesCatchingexceptionsand loggingonlylargefunctionswith nestedstructuresvariabledeclaredfar fromits usageToo manyarguments(>3)Errorcodesinstead ofexceptionMultipleReturnPointsMessageChains –a.b().c().d()trainwreckViolatesCommand-QuerySeparationRepetitiveNamingDependentfunctionsare farapartLongMethodverticalopennessbetweenconceptsFree!SwitchStatementAbuseUnpronounceable/Confusing namingNon-searchablevariablenameCommentedOut CodeCodeDuplicationCommentsExplainingCodeRequireshorizontalscrolling

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