人月神话阅读笔记03

在笔记01,02分别讨论了工程人数和时间矛盾,以及团队的协调性。在03我将继续学习贵族专治、民主政治和系统设计。

这个题目比较抽象,但可以类比到程序员和架构师。

在团队之中,需要有完整性。首先是横向一致性,也就是说系统模块基于同一个理念进行设计和开发,实际上系统的耦合程度,接口参数个数,甚至函数名/函数个数等命名规则都需要有一致的规范,否则会导致很多歧义的发生。

其次是纵向一致性,一个大型项目的开发时长通常是一年以上,从头到尾的设计一致性也是非常关键的,如果出现前后不一致的设计理念,对程序的稳定性是非常大的冲击。

对于团队中的架构师,我认为不只有结构师才有好的创意。新的概念经常来自实现人员或者用户。如果出现了很多非常重要但不兼容的构想,就应该抛弃原来的设计,对不同基本概念进行合并,在合并后的系统上重新开始。贵族专制统治的问题,必须回答“是”或者“否”。架构师们的工作产物的生命周期比那些实现人员的产物要长,并且结构师一直处在解决用户问题,实现用户利益的核心地位。若要得到系统概念上的完整性,必须有人控制这些概念。这实际上是一种无需任何歉意的贵族专制统治。

所以,产品的实现并不仅仅依赖于架构师,架构师是统领的作用,注重解决核心问题,但并不是绝对的,大部分情况下是由架构师做出最优选择,关于民主,大部分人可以按照架构师思路,在一定程度上减少了这些麻烦

posted @ 2023-04-29 21:06  樱花开到我身边  阅读(10)  评论(0)    收藏  举报