《程序员修炼之道:从小工到专家》读后感(3)

第三章:基本工具

1.纯文本的威力

具有良好定义的结构的纯文本,用纯文本保存知识,可以获得自描述的,不依赖于创建它的应用的数据流。

缺点:与二进制相比所需的存储空间更大;处理代价高。

优点:保证不过时;杠杆作用;更易于测试。

2.shell游戏

熟悉shell使自己的生产率提高。

3.强力编辑

最好精通一种可配置、可扩展、可编程的编辑器,并将其用于所有编辑任务,适当了解其他编辑器。

4.源码控制

能够追踪到你在源码和文档中做出的每一处变动,更好的系统还能追踪编译器及OS版本,有了适当配置的源码控制系统,你就总能返回你的软件的前一版本,极大地提高了开发效率。

源码构建是可重复的,因为你总是可以按照源码将给定日期的内容进行重新构建。

5.调试

调试的目的是为了解决问题,我们要做的就是修正问题,而不是发出指责。

遇到令人吃惊的bug时,进行修正,确定之前为什么没有找出这个bug,考虑你是否要改进单元测试或其他测试,以让它们有能力找出这个故障。如果bug是一些坏数据的结果,看看这些数据经过了那些层面,是否能尽早的进行隔离。

开始查看bug前,首先要确保程序能够成功编译,把编译器警告级设定的最高,准确观察,搜集相关数据,与发现bug的人进行交谈更为直接;必须强硬的测试边界条件,面面俱到的测,还要测试现实中的使用情况。

使数据可视化,调试器通常会聚焦于现在的状态,你有时还会需要观察程序岁随时间变化的状态。

消除bug的过程中二分法较为可靠。

posted @ 2019-10-30 08:13  祈欢  阅读(189)  评论(0编辑  收藏  举报