Chapter 2: 注重实效的途径
重复的危害:
Tip 11: DRY - Don't Repeat Yourself 不要重复你自己
正交性:
Tip 12: Make It Easy to Reuse 让复用变得容易
Tip 13: Eliminate Effects Between Unrelated Things 削除无关事物之间的影响 (正交性)
可撤销性:
Tip 14: There Are No Final Decisions 不存在最终决策
拽光弹(发射时,子弹中的磷点燃,在枪和击中的目标之间留下一条烟火似的踪迹。):
Tip 15: Use Tracer Bullets to Find the Target 用拽光弹找到目标
原型与便签:
Tip 16: Prototype to Learn 为了学习而制作原型
拽光弹和原型的区别:原型制作生成用过就扔的代码。拽光弹代码虽然简单,但却是完整的,并且构成了最终 系统的骨架的一部分。可以把原型制作看成在第一次发射拽光弹之前进行的侦查和情报搜集工作。
领域语言:
Tip 17: Program Close to the Problem Domain 靠近问题领域编程
估算:
Tip 18: Estimate to Avoid Surprises 估算,以避免发生意外
Tip 19: Iterate the Schedule with the Code 通过代码对进度进行迭代
Chapter 3: 基本工具
纯文本的威力:
Tip 20: Keep Knowledge in Plain Text 用纯文本保存知识
Shell游戏:
Tip 21: Use the Power of Command Shells 利用命令行Shell的力量
强力编辑:
Tip 22: Use a Single Editor Well 用好一种编辑器
源码控制:
Tip 23: Always Use Source Code Control 总是使用源码控制
调试:
Tip 24: Fix the Problem, Not the Blame 要修正问题,而不是发出指责
调试的思维方式:
Tip 25: Don't Panic 不要恐慌
观察报告bug的用户的操作,以获取足够程度的细节。
消除bug过程:
Tip 26: "Select" Isn't Broken “Select”没有问题,即bug可能存在OS,编译器,库函数或第三方产品中,但不 该是你的第一想法,大的多的可能是,bug存在于你正在开发的代码中。
造成惊讶的要素:
Tip 27: Don't Assume It - Prove It 不要假定,要证明
文本操纵:
Tip 28: Learn a Text Manipulation Language 学习一种文本操纵语言 (如Perl)
代码生成器:
Tip 29: Write Code That Writes Code 编写能编写代码的代码
重复的危害:
Tip 11: DRY - Don't Repeat Yourself 不要重复你自己
正交性:
Tip 12: Make It Easy to Reuse 让复用变得容易
Tip 13: Eliminate Effects Between Unrelated Things 削除无关事物之间的影响 (正交性)
可撤销性:
Tip 14: There Are No Final Decisions 不存在最终决策
拽光弹(发射时,子弹中的磷点燃,在枪和击中的目标之间留下一条烟火似的踪迹。):
Tip 15: Use Tracer Bullets to Find the Target 用拽光弹找到目标
原型与便签:
Tip 16: Prototype to Learn 为了学习而制作原型
拽光弹和原型的区别:原型制作生成用过就扔的代码。拽光弹代码虽然简单,但却是完整的,并且构成了最终 系统的骨架的一部分。可以把原型制作看成在第一次发射拽光弹之前进行的侦查和情报搜集工作。
领域语言:
Tip 17: Program Close to the Problem Domain 靠近问题领域编程
估算:
Tip 18: Estimate to Avoid Surprises 估算,以避免发生意外
Tip 19: Iterate the Schedule with the Code 通过代码对进度进行迭代
Chapter 3: 基本工具
纯文本的威力:
Tip 20: Keep Knowledge in Plain Text 用纯文本保存知识
Shell游戏:
Tip 21: Use the Power of Command Shells 利用命令行Shell的力量
强力编辑:
Tip 22: Use a Single Editor Well 用好一种编辑器
源码控制:
Tip 23: Always Use Source Code Control 总是使用源码控制
调试:
Tip 24: Fix the Problem, Not the Blame 要修正问题,而不是发出指责
调试的思维方式:
Tip 25: Don't Panic 不要恐慌
观察报告bug的用户的操作,以获取足够程度的细节。
消除bug过程:
Tip 26: "Select" Isn't Broken “Select”没有问题,即bug可能存在OS,编译器,库函数或第三方产品中,但不 该是你的第一想法,大的多的可能是,bug存在于你正在开发的代码中。
造成惊讶的要素:
Tip 27: Don't Assume It - Prove It 不要假定,要证明
文本操纵:
Tip 28: Learn a Text Manipulation Language 学习一种文本操纵语言 (如Perl)
代码生成器:
Tip 29: Write Code That Writes Code 编写能编写代码的代码