《程序员修炼之道》阅读笔记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