Bursting at the Seams
summary
Claim: seams let code change behavior without editing the method itself. The talk shows a Ruby request class, rest-client calls and unit tests, first supporting two signers then adding a third (bronze), created a seam by extracting signer selection, moved signer into channel so the request only uses an injected signer instance. Tests pass and the refactor yields looser coupling, easier testing and clear next steps (polymorphic signer classes) — the change works and reveals further refactor opportunities.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 1:30Making Requests
- 6:58New Requirement
- 14:20Dependencies
- 17:29Game Over
- 18:05Bronze Level
- 23:00RefreshStats Worker
- 24:47Rework Signer
- 25:06Rework Channel
- 26:18Signer Responsibility
- 27:45Conclusion
- 29:29Questions
related talks
23mBuilding flexible and testable applications
30mA Tale of Two Codepaths: Notes on a Refactor
33mEastward Ho! A Clear Path Through Ruby With OO Jim Gay
30mCompose Software Like Nature Would
37mStop Doing E2E Tests! Write Better Tests with Contract
17mFrom Problem to Solution
31mWhat Comes After MVC
21mWriting Declarative, Maintainable Integration Tests Using Page Objects
