程序员必读经典《人月神话》读书笔记04——贵族专制,民主政治和系统设计

 读书笔记  原创  管理员  2019-01-06 16:52

概要:如果是小团队,那么这些人必须要有非常大的默契。最好是由一个人来实现,也就是说这一个人相当于是专制。实际上,来自进度的压力,却要求很多人员来开发这个系统,不过这个我们在前几章中已经讲述过了。专制统治的人,也就是架构师,他需要为整个系统的架构负责,但是不需要为整个系统的实现负责。同样也是之前所提到的设计与实现要分离。

在系统设计中,概念完整性应该是最重要的考虑因素,也就是说为了反映一系列连贯的设计思路,宁可省略一些不规则的特性和改进,也不提倡独立和无法整合的系统,哪怕它们其实包含着许多很好的设计。

我们需要先考虑下面这几个问题:

第一,如何才能获得概念的完整性呢?

我们需要保持软件的简洁与易用性。每个部分必须反映相同的原理,需求的一致平衡。在语法上每个部分应使用相同的技巧,在语义上,应该具有同样的相似性。通俗的讲,也就是我们需要保证最终产品的易用性,而不是让用户的使用变得复杂。

第二,专制统治和民主政治如何平衡?

上面提到的概念完整性,必须有一个人或者由很少人组成的团队去实现。有一个要求就是,如果是小团队,那么这些人必须要有非常大的默契。最好是由一个人来实现,也就是说这一个人相当于是专制。实际上,来自进度的压力,却要求很多人员来开发这个系统,不过这个我们在前几章中已经讲述过了。

专制统治的人,也就是架构师,他需要为整个系统的架构负责,但是不需要为整个系统的实现负责。同样也是之前所提到的设计与实现要分离。

虽然有专制的统治,但是我们也要保持民主,架构师虽然负责设计,但是也要保持对具体开发人员实现整个逻辑创造性的友好态度,而不是认为实现人员没有具体的价值,或者说他们总是在重复一些无聊的工作。具体的实现人员往往能体会到架构师无法体会到的精华所在,甚至一些创新的元素。

第三,在等待的时候实现人员应该做什么?

实现人员就是在架构师设计好架构的基础上做一些具体实现的一些程序员。他们可以是负责某一块业务逻辑或者是整个应用程序,该有的底层架构都已经由架构师准备好了。说白了,实现人员主要是做一些具体应用相关的内容。

架构时在设计具体的架构的时候,往往对具体实现时的成本不会有太多的考虑,同时,架构师获得了他创造和发明的快乐,相当于是剥夺了实现人员的一部分价值和创造力。

如果架构师在设计一个系统时,需要花费比较长的时间,那么实现人员就必须要等待架构师先完成。在计算机这个行业里,节奏是非常快的,而且人们常常想尽办法的压缩开发人员的时间进度。

整个创造性的活动,包括三个独立的阶段,体系结构,设计实现和物理实现,但是在实际情况中,他们往往可以同时开始并发的进行。

这一点也就是我们通常意义上的并行开发,不同于传统的瀑布模型。

人月神话  

编辑:myweb   最后更新于:2019-01-06 17:01




声明:本站部分文章系本站编辑转载,转载目的在于加快信息的传递,及时与广大网友分享更多信息,并不代表本站赞同其观点和对其真实性负责。 如涉及作品内容、版权和其它问题,请及时与本站联系,我们将在第一时间删除内容!本站文章版权归原作者所有,内容为作者个人观点,本站只提供参考并不构成任何投资及应用的建议。


联系我:x889@foxmail.com,鄂ICP备14016278号-2
©2016-2019 我的ABC All Rights Reserved.
友情链接: 一起编程网