《程序员修炼之道》读书笔记三:基本工具

14 纯文本的威力

  • 持久存储知识的最佳格式是纯文本。通过纯文本,我们给予了自己既能以手工方式、也能以程序方式操纵知识的能力——实际上可以随意适用每一样工具。
  • 纯文本并非意味着文本是无结构的;XML、SGML 和 HTML都是又良好定义的结构和纯文本的例子。
  • 缺点
    • 与压缩的二进制格式相比,存储纯文本所需空间更多。
    • 要解释及处理纯文本文件,计算上的代码可能更昂贵。
  • 优点
    • 保证不过时
    • 杠杆作用
    • 更易于测试

15 shell 游戏

  • 对于操纵文本文件的程序员,工作台就是命令shell。
  • 投入一些精力去熟悉你的shell,多使用你的命令shell,你会惊讶它能使你的生产率得到怎样的提高。

16 强力编辑

  • 用好一种编辑器。
  • 好的编辑器的特性
    • 可配置
    • 可扩展
    • 可编程
    • 语法突显
    • 自动完成
    • 自动缩进
    • 初始代码或文档样板
    • 与帮助系统挂接
    • 类IDE特性(编译、调试,等等)
  • 有些编辑器使用完备的语言进行定制和脚本编写。学习你的编辑器使用的语言。

17 源码控制

  • 进步远非由变化组成,而是取决于好记性,不能记住过去的人,被判重复过去。
  • 总是使用源码控制即使团队只有一个人。

18 调试

  • 这是痛苦的事:看着你自己的烦扰,并且知道不是别人、而是你自己一人所获。
  • 要修正问题,而不是发出指责。
  • 最容易欺骗的人是一个人自己。
  • 不要恐慌,不要假定要证明。

19 文本操纵

  • 学习一种文本操作语言

20 代码生成器

  • 编写能编写代码的代码

  • 类型

    • 被动代码生成器只运行一次来生成结果。然后结果就变成了独立的——它与代码生成器分离了。
    • 主动代码生成器在每次需要其结果时被使用。结果是用过就扔的——它总是能由代码生成器重新生成。
  • 代码生成器不一定要生成代码,可以用代码生成器生成几乎任何输出:HTML、XML、纯文本——可能成为你的项目中别处输入的任何文本。

你可能感兴趣的:(《程序员修炼之道》读书笔记三:基本工具)