知识卡片
规范约束复杂度
内容
命名、包结构、分层和扩展规范能把个人习惯收敛成团队约定。约束看似减少自由,实际是在减少每次理解代码时的重新判断成本;规范越清楚,协作越可预期。关联:[[契约约束自由]]
参考来源
- 位置:《程序员的底层思维》第18章《COLA的演进过程》引言及18.1.1节「随心所欲」(源文件:Cheng Xu Yuan De Di Ceng Si Wei_split_024.html)
- 结论依据:原文明确指出架构的要义在于约束,用散列查找O(1)对比线性查找O(n)的比喻说明规范能让代码定位从按图索骥变成直接命中,直接支持卡片论点。
- 原始内容:"架构的要义在于约束。……在一个架构良好的系统中,评估代码改动点不应该是线性地按图索骥,而是应该像散列查找一样,直接定位到需要改动的地方,它们之间是O(n)和O(1)的差别。……这个散列查找的索引就是架构规范。"