Connascence: beyond Coupling and cohesion
summary
Defines connascence as a three‑axis taxonomy—degree locality strength—and shows concrete fixes for common smells: replace positional args with typed objects or builders, use enums to make invalid times unrepresentable, extract algorithms to remove duplication, and apply interface segregation to enforce call order. Demonstrates a production change that cut slow tests (waiting one second) by adding an event notifier so 95% of tests stop sleeping, and describes a CI break caused by a manual build script update after four or five days of refactoring—connascence of timing and manual tasks explained.
AI-written summary · about
chapters (16)
- 0:00Connascence intro
- 1:06Connascence beyond coupling
- 3:43History of Connascence
- 6:16Three dimensions
- 6:40Name and Type
- 9:54Position
- 12:01Value
- 14:32Meaning and Convention
- 15:59Algorithm
- 17:24Execution order
- 21:59Timing
- 29:10Identity
- 30:37Manual tasks
- 33:46Refactoring impact
- 38:28System entropy
- 39:13Conclusion & Q&A
related talks
37mConnascence beyond Coupling and Cohesion
41mConnascence, beyond Coupling and Cohesion
48mConnascence: beyond Coupling and Cohesion
49mConnascence - The Ultimate Formula for Building Quality Software?
56mContinued Learning: The Beauty of Maintenance -
41mUncoupling
58mA Practical Guide to Loose Coupling
01h 16mPolymorphism, Cohesion, and Coupling in C++
