Catchingexceptionsand loggingonlyDependentfunctionsare farapartForever//TODOUnreadableRegexRepetitiveNamingOverlycomplexbooleanconditionCommentedout codeFREETemporaryfields(assigned now,used maybenever?)DeepnestingCodeDuplicationGodclassCommentsexplainingCodeCommentedOut CodeViolatesCommand-QuerySeparationLongMethodVariabledeclaredfar fromits usageUnpronounceable/Confusing namingSwitchStatementAbuseHidden sideeffects (e.g.parametermodifying)Too manyarguments(>4)MessageChains –a.b().c().d()...Errorcodesinstead ofexceptionReturn nullinstead of anemptycollection /valueMagicNumbers /MagicStringsCatchingexceptionsand loggingonlyDependentfunctionsare farapartForever//TODOUnreadableRegexRepetitiveNamingOverlycomplexbooleanconditionCommentedout codeFREETemporaryfields(assigned now,used maybenever?)DeepnestingCodeDuplicationGodclassCommentsexplainingCodeCommentedOut CodeViolatesCommand-QuerySeparationLongMethodVariabledeclaredfar fromits usageUnpronounceable/Confusing namingSwitchStatementAbuseHidden sideeffects (e.g.parametermodifying)Too manyarguments(>4)MessageChains –a.b().c().d()...Errorcodesinstead ofexceptionReturn nullinstead of anemptycollection /valueMagicNumbers /MagicStrings

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
25
  1. Catching exceptions and logging only
  2. Dependent functions are far apart
  3. Forever //TODO
  4. Unreadable Regex
  5. Repetitive Naming
  6. Overly complex boolean condition
  7. Commented out code
  8. FREE
  9. Temporary fields (assigned now, used maybe never?)
  10. Deep nesting
  11. Code Duplication
  12. God class
  13. Comments explaining Code
  14. Commented Out Code
  15. Violates Command-Query Separation
  16. Long Method
  17. Variable declared far from its usage
  18. Unpronounceable/ Confusing naming
  19. Switch Statement Abuse
  20. Hidden side effects (e.g. parameter modifying)
  21. Too many arguments (>4)
  22. Message Chains – a.b().c().d() ...
  23. Error codes instead of exception
  24. Return null instead of an empty collection / value
  25. Magic Numbers / Magic Strings