Warning:预防针 声明!!!
技术X杂谈O 书 课程 主观感受
## 目录
- 关于Mythical Man-Month
1. 人月
2. Brust理论
3. 没有银弹
- 理解与认可MMM
- 补充:理念与设计
1. 道
2. KISS
3. DE or WM
- 对比SE--从技术角度出发与写文档
- 提问:SE到底学什么
- The End
Mythical Man-Month
From https:://www.bilibili.com/video/BV1zh4y1U7uX
人月 航天
人月 人天 人时
人月(英语:man-month)是软件开发的单位 评估一件软件项目的大小
一个标准工作月份(通常工作日为20天/按工作小时计算)内一个人的工作量
工作量 != 项目进度
人月是一个误解的概念,因为它假设人力和工时可以互换
Brust理论
项目已经延期,如果增加人员,只会火上浇油
除非可以把工作区分,让新进人员在不影响他人工作的状况下有所贡献
但是,把工作切分给更多人做将造成额外的沟通代价
增加人员代价可分为三方面:
- • 切分工作所造成的混乱与额外工作量
- • 新人员的训练
- • 新增加的交流
没有银弹
在民俗传说所有怪物中,没有比狼人更可怕的,因为它们会突然地从一般人变身而成
因此人们尝试着查找能够奇迹似地将狼人一枪毙命的银弹
项目 -> 时程延误 预算超支 产品充满瑕疵
1986+10 本质1附属9 10倍
争议 -> 查找银弹
查找银弹
高级语言的抽象 避免复杂性 | 分时技术 | 集成开发环境 提升生产力 |
---|
编程语言Ada的理念
模块化 | 抽象资料类型 | 层次结构式结构 |
---|
面向对象编程
Notion:AI成为银弹的可能性
理解与认可MMM
环境:无力改变与徒增烦恼
“我和领导说人月神话,领导跟我说人多力量大”
灾祸来自白蚁的肆虐,而不是龙卷风的侵袭:
”进度落后了一天,那又怎么样呢?谁会关心一天的滞后?我们最终可以跟上进度。何况和我们项目关联的其他小组已经落后了。“
具有指导意义 === 具有指导意义
补充:理念与设计
道
质真若渝,大器晚成
世上没有完美的程序
即便是已经成熟运行十几年的项目,也存在错误
The highest sounds are hardest to hear. Going forward is a way to retreat. Great talent shows itself late in life.
Even a perfect program still has bugs.
人们总是最难听见最高处的声音。进是退的一种。大器总是晚成。没有完美的程序,任何程序都有漏洞。
KISS
Keep It Simple, Stupid
Worse is better是由理查·加百烈在他的文章中用来描述电脑软件接受度的成句
其观点为,软件的品质并不随着功能的增加而提高,从实用性以及易用性来考虑,功能较少的软件反而更受到使用者和市场青睐
DE & WM
Desktop Environment & Window Manager
Gnome3的默认WM是Mutter
KDE5的默认WM是KWin
win默认有dwm.exe进程
剔除多余的功能 Less is More.
Software Engineering
SE != 写文档
图、文档设计 (plan and document 模式)
- UCB CS169 SaaS
- MIT 6.031 目标就是让学生学会如何写出高质量的代码
提问:SE到底学什么