程序员修炼之道读书笔记3

  本书第三章为基本工具。

  在“纯文本的威力“部分,给出了提示20,用纯文本保存知识。使用纯文本有两个主要缺点,一是与压缩的二进制格式相比,存储纯文本所需空间更多,二是要解释及处理纯文本文件,计算上的代价可能更昂贵。但文本也有好处,一是保证不过时,对于一个来自某遗留系统的数据文件,即使关于原来的应用了解很少,使用纯文本文件也可以方便的提取数据。二是杠杆作用,系统崩溃时,可能需要通过最小限度的环境进行恢复,这时实在可以欣赏到纯文本的简单性。三是更易于测试。在异种环境中,纯文本的优点比其所有的缺点都重要。你需要确保所有各方能够使用公共标准进行通信,纯文本就是那个标准。

  在“shell游戏”部分,提到对于操纵文本文件的程序员,工作台就是命令shell。GUI的好处是所见即所得,缺点是所见及全部所得。注重实效的程序员并非只是剪切代码、或是开发对象模型、或是撰写文档、或是使构建过程自动化,所有这些事情我们全部都要做。给出了提示21,利用命令shell的力量。

  在“强力编辑”部分,给出了提示22,用好一种编辑器。编辑器的特性为可配置,可扩展,可编程,我们要用好一种编辑器,使它能应用于更多的任务。

  在“源码控制”部分,讲了源码控制系统(或范围更宽泛的配置管理系统)追踪你在源码和文档中做出的每一项变动。给出了提示23,总是使用源码控制。

  在“调试”部分,讲了调试就是解决问题,要据此发起进攻。给出了提示24,要修正问题,而不是发出指责,提示25,调试的第一准则:不要恐慌。通过使用允许你“使数据及其所有的相互关系可视化”的调试器,你可以深入很多的获得对你的数据的洞察。在时间本身是一项因素的任何系统中,跟踪都具有难以估量的价值:并发进程,实时系统,还有基于事件的应用。给出了提示26,“Select”没有问题。提示27,不要假定,要证明。当遇到让人吃惊的bug时,除了只是修正它之外,还需要确定先前为什么没有找出这个故障。

  在"文本操纵“部分,给出了提示28,学习一种文本操纵语言。

  在”代码生成器“部分,提到程序员可以构建代码生成器,在整个项目生命期内都可以使用它,实际上没有任何代价。给出了提示29,编写能编写代码的代码。代码生成器有两种主要类型:1、被动代码生成器只允许一次来生成结果,然后结果就变成了独立的——他与代码生成器分离了。2、主动代码生成器在每次需要其结果时被使用。结果是用过就扔的——它总是能由代码生成器重新生成。

原文地址:https://www.cnblogs.com/songxinai/p/11760905.html