Connascence beyond Coupling and Cohesion
summary
Argues that connascence is a practical taxonomy that extends coupling/cohesion into three axes — degree, locality, strength — and demonstrates concrete code smells (name, type, position, value, meaning, algorithm, execution order, timing, identity, manual tasks). Shows fixes: use types, staged builder interfaces to enforce call order, validate or make invalid state unrepresentable, extract algorithms, parametrize or mock time, and remove manual build steps. Claims these changes speed refactoring, tighten tests, and prevent CI breakage caused by hidden manual tasks.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:07What is connascence
- 4:44Connascence taxonomy
- 6:55Static connascence forms
- 9:46Connascence of position
- 12:15Connascence of value
- 14:28Connascence of meaning
- 15:56Connascence of algorithm
- 17:23Dynamic connascence forms
- 18:10Connascence of execution order
- 22:06Connascence of timing
- 26:53Connascence of identity
- 27:38Connascence of manual tasks
- 30:30Design and refactoring
- 33:02Connascence vs design principles
- 35:34Closing
related talks
41mConnascence, beyond Coupling and Cohesion
41mConnascence: beyond Coupling and cohesion
48mConnascence: beyond Coupling and Cohesion
49mConnascence - The Ultimate Formula for Building Quality Software?
41mUncoupling
56mContinued Learning: The Beauty of Maintenance -
58mA Practical Guide to Loose Coupling
01h 01mBalancing Coupling in Software Design
