14 纯文本的威力
- 持久存储知识的最佳格式是纯文本。通过纯文本,我们给予了自己既能以手工方式、也能以程序方式操纵知识的能力——实际上可以随意适用每一样工具。
- 纯文本并非意味着文本是无结构的;XML、SGML 和 HTML都是又良好定义的结构和纯文本的例子。
- 缺点
- 与压缩的二进制格式相比,存储纯文本所需空间更多。
- 要解释及处理纯文本文件,计算上的代码可能更昂贵。
- 优点
- 保证不过时
- 杠杆作用
- 更易于测试
15 shell 游戏
- 对于操纵文本文件的程序员,工作台就是命令shell。
- 投入一些精力去熟悉你的shell,多使用你的命令shell,你会惊讶它能使你的生产率得到怎样的提高。
16 强力编辑
- 用好一种编辑器。
- 好的编辑器的特性
- 可配置
- 可扩展
- 可编程
- 语法突显
- 自动完成
- 自动缩进
- 初始代码或文档样板
- 与帮助系统挂接
- 类IDE特性(编译、调试,等等)
- 有些编辑器使用完备的语言进行定制和脚本编写。学习你的编辑器使用的语言。
17 源码控制
- 进步远非由变化组成,而是取决于好记性,不能记住过去的人,被判重复过去。
- 总是使用源码控制即使团队只有一个人。
18 调试
- 这是痛苦的事:看着你自己的烦扰,并且知道不是别人、而是你自己一人所获。
- 要修正问题,而不是发出指责。
- 最容易欺骗的人是一个人自己。
- 不要恐慌,不要假定要证明。
19 文本操纵
- 学习一种文本操作语言
20 代码生成器
编写能编写代码的代码
-
类型
- 被动代码生成器只运行一次来生成结果。然后结果就变成了独立的——它与代码生成器分离了。
- 主动代码生成器在每次需要其结果时被使用。结果是用过就扔的——它总是能由代码生成器重新生成。
代码生成器不一定要生成代码,可以用代码生成器生成几乎任何输出:HTML、XML、纯文本——可能成为你的项目中别处输入的任何文本。