Connascence - The Ultimate Formula for Building Quality Software?
summary
Connascence is presented as a design concept for improving software quality, maintainability and scalability, complementary to ideas like SOLID and DRY. The talk explains what connascence is, its different types and classifications, and gives practical examples of applying connascence principles to improve software design.
AI-written summary · about
chapters (27)
- 0:00Introduction
- 1:23Term origin
- 5:18Definition and basics
- 7:25Cohesion and coupling
- 8:52Connascence dimensions
- 12:01Change impact degree
- 13:23Code locality
- 15:32Mitigating Connascence
- 16:36Connascence of Type
- 17:18Connascence of Convention
- 19:25Magic numbers example
- 20:49Connascence of Algorithm
- 21:52Algorithm refactoring
- 22:33Hidden design issues
- 23:17Connascence of Position
- 25:29Execution order
- 26:52Solutions for execution order
- 28:38Connascence of Timing
- 29:45Threads example
- 31:11Connascence of Value
- 33:40Value validation
- 35:29Connascence of Identity
- 36:52Connascence types summary
- 37:14Is Connascence the only solution?
- 38:17Critiques and thoughts
- 40:26Complementary tool
- 41:08Final reflection
related talks
48mConnascence: beyond Coupling and Cohesion
41mConnascence: beyond Coupling and cohesion
37mConnascence beyond Coupling and Cohesion
41mConnascence, beyond Coupling and Cohesion
45mConway's Law: when best practices aren't enough
49mConway's Law: When Best Practices Are Not Enough
42mC4 — A Lightweight Approach to Documenting Architecture
31mConcept-Centric Software Development: An Experience Report
