• 梦断代码读后感1


    今天开始读梦断代码了。

    书中说道,“关于软件缺陷的话题,只要谈上几分钟,必会有人拍案叹道,‘为什么就是不能像造桥那样造软件?’”的确,掩卷长思,为神马不能像造桥那样造软件哪!细想起来,两者之间的根本不同在于,一个是体力劳动,以机械为主;一个是脑力劳动,以人为主。人,从来就不是一个确定的东西,有喜怒哀乐,有自己的偏爱和偏见,充满了各种不确定性,以它为主的项目,自然不可能做到分毫不差。软件工程的主要目的,就是尽量把这种不确定性从项目中剥离出来,使做软件真正成为一个工程,而不是个人英雄主义的胡拼乱凑。

    《梦断代码》在讨论“软件时间”这一概念时,其中,布鲁克斯提出了一个十分著名的法则,“往以延误的项目中补充人力,只会使其继续厌恶”,这听起来像是一个悖论,但是其后无数年间的实践,这一原则都成了程序猿和开发经理的梦魇,他们“宁愿装作法则并不适用于自己,也不肯与之妥协“。布鲁克斯指出了其中要害,”只有在任务能分派给许多相互之间无须沟通的工作者时,人和月才是可互换品。“制作软件的大量工作受困与”序列约束“”,它限制的任务分解的程度:完成某项任务是处理其他任务的先决条件,这与人力投入多少无关。“十月怀胎,无论多少妇女参加都一样。”想想也是,一个完整的软件项目,必然要按照一定的流程来进行,诸如用户需求分析,详细设计等等,人力再多,有时也无法加快各个阶段的进度,反而可能会因为交流不畅而拖累整个项目。

    所以一个项目不是投入的人越多越好,而是要按照一定的流程来做,这样才有可能及时完成。

  • 相关阅读:
    语音信号端点检测
    WEBPACK & BABEL 打包项目
    使用 Qt 获取 UDP 数据并显示成图片(2)
    QSS为Qt程序添加不一样的样式
    window 搜索大文件
    Idea java 编译发生 cannot find symbol
    JetBeans Tab键相关设置
    JetBean Rider 重命名 c# 程序集名
    Unity 导入其他工程
    列出当前文件夹下的以log结尾的文件名
  • 原文地址:https://www.cnblogs.com/bingoing/p/4523843.html
Copyright © 2020-2023  润新知