~/talk

Code Smells - Hall of Fame

Talkat Voxxed Days Bucharest 2024 · 2024-03-27..03-29· [developer-experience]
slides:none on file

Practical rules and gotchas: keep methods under 20 lines and call-depth under three, aim for files ≈200 lines in Java, and avoid blind DRY refactors that couple flows. Concrete warnings: bad names cause most bugs, wrap primitive IDs into microtypes (customerId vs long) to prevent mixups, immutable entities break Hibernate and immutable lists can explode memory (one example allocates ~400MB for 5,000 adds). Prefer streams over side‑effecting for‑loops, avoid reduce in Java, use IntelliJ/ErrorProne hints, and delete unused code by logging then removing if unseen.

AI-written summary · about

  1. 0:00Introduction
  2. 1:20Code smell warm-up
  3. 3:38Understanding code smells
  4. 5:45The importance of naming
  5. 8:40Methods and classes
  6. 10:57Modeling with new types
  7. 13:59Feature envy
  8. 15:47Data classes and delegation
  9. 17:32Primitive obsession
  10. 19:35Functional programming
  11. 22:13Immutability challenges
  12. 24:26Builders and modeling
  13. 26:43Reassigning variables
  14. 28:36Loops and streams
  15. 30:13Abusing streams
  16. 32:54Functional principles
  17. 36:00Error handling
  18. 38:44Returning behavior
  19. 40:32Dead code
  20. 42:32Conclusion and community
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.