2020-08-04 孙小北

《程序员修炼之道:通向务实的最高境界》Day1软件编程哲学

主要讲述了软件的熵-够好即可的软件,讲述编程方法-优秀设计的精髓、让复制变得容易等内容

 首先非常感谢董老师的领读和华为云的云享读书会,经过董老师的提炼,将书中的精华浓缩为五天内容。先跟着老师取了本书灵魂,后续在细读。董老师还提了另外一本《黑客与画家》,后面有时间也读一下。

主要内容:

务实的哲学

1. 人生是你的

你有权选择: 人生是自己的,把握住人生,让它如你所愿。

2. 我的源码被猫吃了

提供选择,别找借口:提供选择而不是去找理由,不要只说做不到,解释一下都能做些什么。

3. 软件的熵

不要放任破窗:只要看到不好的设计、错误的决策、糟糕的代码就赶紧去纠正。

4. 石头做的汤和煮熟的青蛙

做推动变革的催化剂: 你无法强迫人们去改变但可以展示美好未来,并帮助他们参与创造。

牢记全景:不要过度沉漫于细枝末节,以免察觉不到周围正在发生的事情。

5. 够好即可的软件

将质量要求视为需求问题:让用户参与对项目真实质量需求的确定。

6. 知识组合

对知识组合做定期投资:养成学习的习惯

批判性地分析你读到和听到的东西:不要受供应商、媒体炒作或教条的影响,根据自身和项目的实际情况来分析信息。

7. 交流!

英语就是另一门编程语言:将英语视作一门编程语言。写文档和编程一样要遵循DRY原则、ETC、自动化等。

说什么和怎么说同样重要:如果无法有效交流,任何伟大的想法都是没有意义的。

把文档嵌进去,而不要栓在表面:与代码隔离的文档很难保持正确并及时更新。

8. 优秀设计的精髓

优秀的设计比糟糕的设计更容易变更:适合使用者的事物,都已经过良好设计。对代码来说这意味着必须适应变化。

务实的方法

9. DRY邪恶的重复

DRY不要重复你自己:系统中的每一条知识都必须有单一且无歧义的权威陈述。

让复用变得更容易:只要复用方便,人们就会去做。创建一个支持复用的环境。

10. 正交性

消除不相关事物之间的影响:设计的组件,需要自成一体、独立自主,有单一的清晰定义的意图。

11. 可逆性

不设最终决定:不要把决定刻在石头上,而要将其视为写在沙滩上的东西,时刻准备应变。

要有替代方案、放弃追逐时尚:尼尔福特说过: "昨日之最佳实践即明日之反模式。" 要基于基本原则去选择架构,而不盲从于流行。

12. 曳光弹

使用曳光弹找到目标:通过不断尝试并看清着弹点,曳光弹可确保你最终击中目标。

13. 原型与便签

用原型学习:制作原型旨在学习经验其价值不在于过程中产生的代码,而在于得到的教训。

14. 领域语

靠近问题域编程:用问题领域的语言来做设计和编程。

15. 估算

通过估算来避免意外:开始之前做估算,能提前发现潜在问题

根据代码不断迭代进度表:利用实施过程中获得的经验来精细化项目的时间尺度


编辑:孙小北

本文地址: https://www.xiaowangyun.com/wyblog/detail/?id=1147

版权归属: www.xiaowangyun.com   转载时请以链接形式注明出处

0 条评论

快来评论

物以类聚

最新评论

2017-10-06

一辈子不长,只有珍惜了,才不至于后悔。

2017-10-06

懂得感恩,才能走得更远。

标签云

归档

取消

感谢您的支持,您的每一次打赏都是一次鼓励!

扫码支持
每一次支持,都是不懈的动力

打开支付宝扫一扫,即可进行扫码打赏哦