zoukankan      html  css  js  c++  java
  • 《人月神话》阅读笔记01

    l  所有的编程人员都是乐观主义者,无论是什么样的程序,结果都是毋庸置疑的:“这次它肯定会运行”或者“我刚刚找出了最后一个错误”。

    这一个观点,在《梦断代码》中也有所提及,那其中讲述的是,程序员对过往错误不在追悔莫及,对于新的项目仍抱有良好的希望。因此,推广到我们的日常学习中,愚认为对于过往逝去的事务不要在叹息,珍惜现在!

    l  推荐的软件任务的进度安排:

    1/3 计划

    1/6 编码

    1/4 构建测试和早期系统测试

    1/4 系统测试,所有的构件以完成

    项目的时间依赖于顺序上的限制,人员的数量依赖于单个子任务的数量。从这两个数值可以推算进度时间表,该表安排的人员较少,花费的时间较长(唯一的风险是产品会过时),相反,分派较多的人手,计划较短的时间,将无法得到可行的进度表。总之,在众多软件项目中,缺乏合理的时间进度是造成项目滞后的最主要原因,它比其他所有因素加起来的影响还要大。

    根据个人经验,最出学习实践中,若没有丰富的经验,很难对项目做出合理的时间安排表,既不能按照功能板块平均分配时间,也不能对于每个程序员预估相同的的工作效率。因此,要想做出合理的时间安排表,离不开丰富的项目经验,更离不开一支默契的项目团队成员工作效率的了解。

    l  对于效率和概念的完整性来说,最好由少数干练的人员来设计和开发;而对于大型系统,则需要大量的人手,以使产品能在时间上满足需求。要想调和这两方面的矛盾,Mills给出了一个建议:大型项目的每一部分由一个团队解决,但是该队伍以类似外科手术的方式组建,而不是一拥而上。也就是说,由一个人来进行问题的分解,其他人给予他所需要的支持,以提高效率和生产力。

    l  在设计人员书写开发文档时,设计实现人员不必坐等文档完成。只要有一些最终将并入外部说明的系统功能雏形时,设计实现人员就可以开始工作了。首先,必须要设定良好定义的时间和空间目标,了解产品运行的平台配置。接着,可以开始设计模块的边界、表结构、算法以及所有的工具 。另外,还需要花费一些时间和体系结构师沟通。

  • 相关阅读:
    你可能不知道的css-doodle
    js变量提升与函数提升的详细过程
    绑定Github上的个人博客到Godaddy域名
    基于Github&Hexo的个人博客搭建过程
    github提交代码contributions不显示小绿块
    从零开始学 Web 系列教程
    从零开始学 Web 之 Vue.js(六)Vue的组件
    从零开始学 Web 之 Vue.js(五)Vue的动画
    从零开始学 Web 之 Vue.js(四)Vue的Ajax请求和跨域
    CSS(二)- 选择器
  • 原文地址:https://www.cnblogs.com/somedayLi/p/8449582.html
Copyright © 2011-2022 走看看