Missingsummarycomment ona publicmethodRequireshorizontalscrollingMultipleReturnPointsCommentsExplainingCodeUseof punConfusingNamingmissinglegalcommentsNon-searchablevariablenameCommentedOut CodeMessageChains –a.b().c().d()trainwreckDependentfunctionsare farapartSwitchStatementAbuselargefunctionswith nestedstructuresCatchingexceptionsand loggingonlyvariabledeclaredfar fromits usageCodeDuplicationToo ManyResponsibilitiesToo manyarguments(>3)ViolatesCommand-QuerySeparationErrorcodesinstead ofexceptionUnpronounceablenamingLongMethodDeepNestingverticalopennessbetweenconceptsMissingsummarycomment ona publicmethodRequireshorizontalscrollingMultipleReturnPointsCommentsExplainingCodeUseof punConfusingNamingmissinglegalcommentsNon-searchablevariablenameCommentedOut CodeMessageChains –a.b().c().d()trainwreckDependentfunctionsare farapartSwitchStatementAbuselargefunctionswith nestedstructuresCatchingexceptionsand loggingonlyvariabledeclaredfar fromits usageCodeDuplicationToo ManyResponsibilitiesToo manyarguments(>3)ViolatesCommand-QuerySeparationErrorcodesinstead ofexceptionUnpronounceablenamingLongMethodDeepNestingverticalopennessbetweenconcepts

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