云享读书会----《程序员修炼之道》笔记1
务实的哲学
1. 人生是你的
你有权选择
人生是自己的。把握住人生,让它如你所愿
2. 我的源码被猫吃了
提供选择,别找借口
提供选择而不是去找理由。不要只说做不到,解释一下都能做到些什么
3. 软件是熵
不要放任破窗
只要看到不好的设计,错误的决策,糟糕的代码就赶紧去纠正
4. 石头做的汤和煮熟的青蛙
做推动变革的催化剂
你无法强迫人们去改变,但可以展示美好未来,并帮助他们参与创造。
牢记全景
不要过度沉漫于细枝末节,以免觉察不到周围正在发生的事情
5. 够好即可的软件
将质量要求是为需求问题
让用户参与对项目真实质量需求的锁定
6. 知识组合
对知识组合做定期投资
养成学习的习惯
批判性地分析你读到和听到的东西
不要受供应商,媒体炒作或教条的影响。根据自身和项目的实际情况来分析信息
7. 交流
英语就是另一门编程语言
将英语视作一门编程语言,写文档和编程一样要遵循DRY原则,ETC(easy to change),自动化等。
说什么和怎么说同样重要
如果无法有效交流任何伟大的想法都是没有意义的
把文档嵌进去,而不要栓在表面
与代码隔离的文档,很难保持正确并及时更新
8. 优秀设计的精髓
优秀设计比糟糕设计更容易变更
适合使用者的事物,都已经经过良好设计。对代码来说意味着适应变化
务实的方法
9. DRY邪恶的重复
DRY不要重复自己
系统中的每一条知识都必须有单一且无歧义的权威陈述
让复用变得容易
只要复用方便人们就会去做,创建一个支持复用的环境
10. 正交性
消除不相关事务之间的影响
设计的组件需要自成一体,独立自主,有单一的清晰定义的意图
11. 可逆性
不设最终决定
不要把决定刻在石头上,而要将其视为写在沙滩上的东西,时刻准备在变
放弃追逐时尚
尼尔。福特说过:“昨日之最佳实践即明日之反模式。”要基于基本原则去选择架构,而不是盲从于流行
12. 曳光弹
使用曳光弹找到目标
通过不断尝试并看清着弹点,曳光弹可确保你最终击中目标。
13. 原型与便签
用原型学习
制作原型旨在学习经验,其价值不在于过程中产生的代码,而在于得到的教训
14. 领域语
靠近问题域编程
用问题领域的语言来做设计和编程
15. 估算
通过估算来避免意外
开始之前做估算,能提前发现潜在问题
根据代码不断迭代进度表
利用实验过程中获得的经验来精细化项目的时间尺度。
- 点赞
- 收藏
- 关注作者
评论(0)