您的位置:首页 > 编程语言

<代码简约之美>总结

2018-01-27 23:42 232 查看
原书链接:http://www.ituring.com.cn/book/957

总结:

软件设计的目的:帮助他人,包括其他的程序员

变化定律:程序存在的越久某个功能需要做出改变的可能性就越大

缺陷定律:新增的缺陷和修改或新增的代码数量成正比

简洁定律:维护难度反比于代码的简洁程度,代码应当简单

测试定律:你对软件的了解程度等于你所做的测试的程度

语句总结:

程序员:化繁为简

任何设计都是由一个人来做主,而不是一个团队
软件设计的目标:帮助其他人,包括程序员
如果不添加也不修改任何代码就不会引入新的缺陷,所以在没有做好准备之前不要修改任何代码,除非代码真的有问题并且有证据和实例证明他有问题.
在理想状态下,任何程序里的任何信息都应该只出现一次.
过分拓展软件的用途是不可取的.
写软件时要搞清楚:真正要解决的问题是什么

在写代码的时候要注意:针对每个代码中的具体问题我都有具体的答案

作为程序员要有前瞻性,要保持持续竞争力,(即使在未来,代码也能帮助别人),值得注意的是,程序员并不能预测未来,所以应该在已知信息下做设计和决策,要使程序具有灵活性,但是不要做到以下几点过犹不及:

1.不要编写任何不必要的代码,即使这个代码将来有可能用到,bit rot

2.避免做到僵化设计(对未来假设太多,不仔细设计就编写代码)

3.不可过分追求通用性,可以采取渐进式开发设计:例如先设计加法,在设计减法,然后乘除,而不是一次性对加减乘除同时设计,即使我认为自己的大脑可以完成.

不要轻易造轮子除非以下几点:

1.需要的东西不存在

2.现在的轮子真的很烂,而且会把自己困住

3.现在的轮子无法满足我的要求

4.现在的轮子没有维护并且我也不能维护,比如没有源码

推倒重来要满足以下All才可以:

1.我已经做完了准确的评估

2.我有足够的时间

3.我比原来的设计师更高明

4.我做的每一步都有用户愿意测试

5.我有足够的资源兼顾原系统

软件设计方程式:

D=Vn+Vf/Ei+Em

V表示价值(当前价值和未来价值)

E表示成本(开发成本和维护成本)

其中当前价值和开发成本会趋于0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐