程序员必读经典《人月神话》读书笔记09——削足适履

 读书笔记  原创  管理员  2019-01-22 08:31

概要:项目经理可以做两件事情来帮助团队取得很好的空间与时间的折中,一个是确保他们在编程技能上得到培训,而不仅仅是依赖他们自己的才能和先前的经验。另一种方法是认识到编程需要技术积累,需要开发很多公共的组件,也就是说我们要讲求程序的封装性,将所有公共的部分提取出来,供其他项目使用。当然每一个组件至少应该有两种方式来实现,一是运行速度较快,可能体积比较大,另一个是短小精炼,可能比较慢的实现。

在实际项目开发中,我们需要很大程度地去考虑时间和成本。程序需要有多大呢?除了运行时间以外,它所占据的空间也是我们主要的开销。由于规模是软件系统产品和用户成本中如此大的一个组成部分,开发人员必须要设立一个规模目标。

控制整个程序的规模,并且一定要认真考虑减小程序规模的方法,就像硬件开发人员想方设法的去减少元器件的数量一样。不过规模本身并不一定是一件坏事,但是我们应该要分清楚哪些是必要的,哪些是不必要的,从而裁掉那些不必要的规模即可。

总之我们应该要尽量减少资源的占用空间,达到合理的利用率。对项目经理而言,控制规模既是技术工作的一部分,也是管理工作的一部分,他必须要研究用户和用户需求,以设置在开发系统时的规模,接着把这些系统分成若干个部分,并为每个部分设置一定的规模目标,当然也必须要把所有方面的规模都要纳入预算。

有些道理我们都懂,但是我们也要深刻地认识到一个教训,比如:在规模上碰到问题的程序员会检查自己的代码,看能不能将其中的一部分扔给其他人去处理,更严重的是所有的或大部分的程序员都会遇到这个问题,都考虑着把相应的功能让给其他人,则彻底地影响到了系统的稳定性与安全性。

还有一个更为严重的教训,项目规模本身很大,但缺乏管理和沟通,以至于每个团队成员认为自己是争取小红花的学生,而不是构建系统软件产品的人员,为了达到目标,每个人都在优化自己的程序,但是很少停下来为客户想一想,为整个产品想一想,这种导向和缺乏沟通是最危险的。因此培养开发人员从系统整体出发,是软件编程管理人员最重要的职能。

在速度保持不变的情况下,更多的功能意味着需要更多的存储空间和运算空间,所以其中的一个技巧就是用功能交换尺寸。说白了,就是要把某些复杂的功能作为一项增值服务来提供给用户,你可以明码标价,把它当成一个配件,对于付费的用户,可以为他开放这些功能。

我们还需要考虑到空间与时间的折中。项目经理可以做两件事情来帮助团队取得很好的空间与时间的折中,一个是确保他们在编程技能上得到培训,而不仅仅是依赖他们自己的才能和先前的经验。另一种方法是认识到编程需要技术积累,需要开发很多公共的组件,也就是说我们要讲求程序的封装性,将所有公共的部分提取出来,供其他项目使用。当然每一个组件至少应该有两种方式来实现,一是运行速度较快,可能体积比较大,另一个是短小精炼,可能比较慢的实现。

人月神话  

编辑:myweb   最后更新于:2019-01-15 21:43




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


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