9月《程序员修炼之道:从小工到专家》阅读笔记(2)

发布时间 2023-09-30 20:51:37作者: 痛苦代码源

三、基本工具

14纯文本的威力

纯文本可以获得自描述的,不依赖于创建他的应用的数据流。纯文本可以保证不过时,更容易测试等。

15shell游戏

对程序员来说,工作台就是命令shell。GUI无法让我们超越设计者提供的模型,而我们往往需要这种操作,这时候shell就是你最顺手的工具。

16强力编辑

我们最好精通一种编辑器,彻底了解它。这种编辑器最好可以有以下特性,可哦欸之,可扩展,可编程,语法突显等等。

17源码控制

我们应该使用源码控制,即使团队只有你一人,即使项目很小。可尝试的源码控制系统有 CSV、RCS、ClearCase 等。有些产品可能允许多个用户同时在相同的文件集中工作

18调试

调试就是解决问题。选择恰当的思维方式很重要。不要因为别人提出 bug 而发起进攻。跟踪代码。添加所谓的跟踪日志很有必要,这类日志最好采用统一规范,便于后期我们可以自动解析他们。不要第一时间怀疑 三方库的问题,他们出问题的概率比你代码出问题概率小得多。我们应该首先确认和排查自己的问题。

19文本操纵

文本操作可以帮助我们快速的构建实用程序,为我们的想法构建原型。学习一种文本操纵语言。文本操作语言对于编程的意义,就像是刳刨机对于木工活的意义。

20代码生成器

代码生成器可以帮助我们无任何代价的不断使用。有两类代码生成器:被动代码生成器和主动代码生成器。被动代码生成器是独立执行的。它可以用来生成模板,版权声明,每个新文件的标准注释等等。主动代码生成器会在每次需要其结果时被使用。

四、注重实效的偏执

21按合约设计

合约对双方都有帮助。DBC的核心就是用文档记录并检验。注重实效的程序员会不信任自己,所以他们针对自己的错误行为进行防卫性编码。

22死程序不会说谎

要崩溃,不要破坏。对待程序我们通常会有“它不会发生”的心理状态,这会导致我们忽视一些问题。

23断言式编程

断言检查的是决不应该发生的事情,而不是错误处理。断言应该一直开着,不要在线上环境关掉它。断言对应的是一种强提示,它迫使我们必须遵守。像是单元测试,我们通常都使用断言的形式进行检查。

24何时使用异常

异常很少应作为程序的正常流程的一部分使用,异常应该保留给意外情况。如果移除了所有的异常处理器,代码就无法运行,那说明异常正在被用于非异常情况中。是否应该使用异常取决于实际情况。

25怎样配平资源

嵌套分配,以相同次序分配同一组资源。同时,我们需要检查配平。