"Ruby Smells"
summary
Ruby projects accumulate concrete, fixable smells: examples include duplicate method call (same expensive API hit repeated), data clump (latitude/longitude passed everywhere), repeater conditional (location checks duplicated) and feature envy or attribute smell. Static tools used are Reek (and RuboCop) to locate smells; Reek finds hundreds of warnings, the Reek codebase shows “five screens” of issues and a team fixes a third in a month. Advice includes configurable thresholds, whitelist generation (reek --to-do) and pragmatic, case-by-case refactoring with tests before aggressive rewrites.
AI-written summary · about
chapters (48)
- 0:00Intro
- 0:38Minor things I dont like
- 1:23Im not saying Ruby smells
- 4:51Its not necessarily a bad thing
- 5:22Its nice sometimes
- 6:12Code examples
- 7:00Ruby Smells
- 9:33Metric
- 10:56Separation Matrix
- 11:36Refactoring
- 13:07DataClamp
- 15:00Sustain
- 15:10Location
- 15:29Repeater conditional
- 16:32Ruby predicate
- 17:09Ruby boolean parameter
- 17:24Code refactoring
- 18:37Utility function
- 20:05Attendees
- 20:53Initializer
- 21:50Partition
- 22:33FeatureEnv
- 22:43BusinessProcess
- 23:23Excited predicate
- 23:58Hub of programming
- 24:25Attribute Smell
- 25:28Dont Ask
- 25:45immutable objects
- 26:24instance variables
- 27:02burn your gutters
- 27:23realworld examples
- 27:41eigenvalue
- 28:00testkumi
- 29:07code smell
- 30:01cosmetic code smell
- 30:25pragmatic code smell
- 31:07how to find code smells
- 31:24Robocop for architecture
- 33:35Comments
- 34:12Configuration
- 36:50Code Comments
- 37:17Reconfiguring Parameters
- 38:13Hope
- 38:58Cowboy
- 39:42Can I do this more
- 40:05Cold Climate
- 41:52Guidelines
- 42:02Thank you
related talks
38mGet a Whiff of This
39mSteal This Talk: The Best Features Ruby Doesn't Have (Yet)
35mEscaping The Tar Pit
37mRescuing Ruby
35mThe worst Ruby codes I've seen in my life
40mTowards Tooling; A Look at What is Missing From our Toolbox
32mSAST and Sensibility: A Rubyist’s Guide to Static...
32mruby best practice patterns
