Unpronounceable/Confusing namingErrorcodesinstead ofexceptionDependentfunctionsare farapartCommentedOut CodeMultipleReturnPointsvariabledeclaredfar fromits usageLongMethodCatchingexceptionsand loggingonlylargefunctionswith nestedstructuresSwitchStatementAbuseNon-searchablevariablenameRepetitiveNamingRequireshorizontalscrollingverticalopennessbetweenconceptsFree!ViolatesCommand-QuerySeparationToo ManyResponsibilitiesMessageChains –a.b().c().d()trainwreckToo manyarguments(>3)CommentsExplainingCodeCodeDuplicationUnpronounceable/Confusing namingErrorcodesinstead ofexceptionDependentfunctionsare farapartCommentedOut CodeMultipleReturnPointsvariabledeclaredfar fromits usageLongMethodCatchingexceptionsand loggingonlylargefunctionswith nestedstructuresSwitchStatementAbuseNon-searchablevariablenameRepetitiveNamingRequireshorizontalscrollingverticalopennessbetweenconceptsFree!ViolatesCommand-QuerySeparationToo ManyResponsibilitiesMessageChains –a.b().c().d()trainwreckToo manyarguments(>3)CommentsExplainingCodeCodeDuplication

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