编程语言
首页 > 编程语言> > 《程序员修炼之道》阅读笔记2

《程序员修炼之道》阅读笔记2

作者:互联网

第三章:基本工具

第十四节:纯文本的威力

纯文本由可打印字符组成,人可以直接阅读和理解其形式。纯文本没有结构,可用于保存知识。

文本的威力:保证不过时、杠杆作用、更易于测试。

第十五节:shell游戏

对于程序员来说,shell命令就是工作台。

对于习惯 GUI 的开发者来说一直使用 Shell 有些极端。GUI 的好处是所见即所得,但他的缺点却是,所见即全部所得。GUI 环境通常受限于它们的设计者想要提供的能力。

Shell命令可能很晦涩,或太简略,但很强大,也很简练。熟悉shell命令之后,你的生产效率将会提高。

第十六节:强力编辑

坚持使用一种编辑器,如果不坚持使用,你就可能面临现代的巴别塔大混乱。同时,你需要学会精通它。

使用一种高级的IDE,它能够在一定程度上提高生产效率。

第十七节:源码控制

Undo键和ctrl+z——原谅我们错误的按键。而源码控制系统就相当于一个巨大的 UNDO 键,一个项目级的时间机器。源码控制系统(SCCS)能够追踪你在源码和文档中做的每一项改动。

总是使用源码控制系统,即使只有你一个人,即使你的项目很小。

第十八节:调试

调试会占用大量的时间。

调试就是解决问题,发现bug后,最重要的是解决问题,不是指责。

调试时不要恐慌,正确对待出现的bug。

将你的数据可视化,譬如采用循环链表。

跟踪代码。发生 crash 我们能够查看系统的调用堆栈,但这些数据不一定够。对于非 crash 类错误,因为没有抛出,我们甚至不知道发生了什么。所以添加所谓的跟踪日志很有必要,这类日志最好采用统一规范,便于后期我们可以自动解析他们。

橡皮鸭,也叫小黄鸭调试法。遇到无法定位的问题时,对着小黄鸭(屏幕)解释自己的实现逻辑,很可能在说的过程中你自己就发现了问题所在。

不要第一时间怀疑 OS,IDE,三方库的问题,他们出问题的概率比你代码出问题概率小得多。我们应该首先确认和排查自己的问题。

对 bug 原因进行复盘。修复了一个 bug,不要就让它结束了,想一下,为什么它会出现了,如何避免。定位过程如果耗时较长,也需要复盘下为何花费了那么长时间,以及后续如何优化。

第十九节:文本操纵

学习一种文本操纵语言,其作用十分广泛。

第二十节:代码生成器

作为一个程序员,我们需要一个工具用来减少代码的编写。

被动代码生成器:减少敲键次数,本质是参数化模板。可创建新的源文件、在编程语言之间进行一次性转换、生成查找表以及其他在运行时计算很昂贵的资源。

主动代码生成器:在编译时就能出抓住错误,不用等投入运行时发现。

代码生成器不一定很复杂,同时也不一定生成代码

标签:代码生成,GUI,笔记,程序员,源码,修炼,文本,bug,调试
来源: https://www.cnblogs.com/jyt604743080/p/16361859.html