《程序员修炼之道:从小工到专家》阅读笔记3
(续)
五、原型与便笺
构建软件原型是为了分析和揭示风险、降低代价、为修正提供机会,可以把原型用于测试项目的一个或多个具体方面,但要记住,原型是用过就扔的。
核心要点:
- 原型的价值并不在于所产生的代码,而在于所学到的经验教训
- 构建原型时,可以忽略正确性、完整性、健壮性、风格
- 不要让别人被我们所制作的原型外表的完整性误导,要明确地表明:这些代码是(不)完整的
个人思考: 学新框架或者新工具时,大部分人应该习惯直接上手做正式项目,结果边学边踩坑,进度很慢。更好的做法是先花半天写个最小原型,跑通了后再加业务逻辑。这也是在未来开发中可以应用的一个方法。
六、领域语言
可以发明一种小型语言,使用户能确切表达他们的需要,同时,它也作为一种工具,能让我们更靠近用户的领域工作。
核心要点:
- 最好先采用更复杂、可读性更好的语言
- 好的领域语言让非技术人员也能看懂代码在做什么
个人思考: 说实话,这块内容是能看懂,但不懂具体什么意思,应该怎么用,或许以后学的多了可能就突然理解了。
七、估算
如果能把估算技能发展到对事物的数量级有直觉的程度,那么我们在编码时就能够知道哪些系统需要优化、哪些可以放在一边。
核心要点:
- 先理解要估算什么,弄清解答问题的语境
- 使用的单位会对结果的解读造成影响,因此要选择能反映想传达精度的单位
- 在估算前,可以先找找类似的案例
- 追踪估算能力,这样下一次估算才能更好
个人思考: 可能以后经常会被问这样的问题"这个多久能做完"。拍脑袋就给一个数字,结果反而会延期。所以要学会估算,先拆解任务、然后参考过去类似功能的耗时、再给出一个范围。估算能力的提升,本质上是对自己工作节奏的认知越来越清晰。
总结:本章讲了七个原则,可以归纳为三个维度:代码质量,开发策略,工程能力,这些原则不是孤立的,而是相互支撑的。正交性让可撤销性变得更容易,曳光弹让估算变得更准确,DRY让领域语言更容易实现。掌握这些原则,可以大大提升开发效率,对于现在的我们来说,可能有些难以理解和运用,但在更深入的学习中,它们总会发挥用处的。

浙公网安备 33010602011771号