纯文本:
1、纯本文由可打印字符组成,人可以直接阅读和理解其形式。
2、纯文本的优点:保证不过时。这一点需要我们扩展纯文本能够自描述。自描述的含义是它自己能告诉我们它的含义。另外两个优点是杠杆作用和更易于测试。
Shell 游戏:
1、对于操纵文本的文件的程序员,命令 Shell 就是工作台。我们可以利用 Shell 启动各种应用、搜索文件、查询系统状态,甚至还可以构建复杂的宏命令,完成各种常见活动。
2、Shell 可能比较晦涩,但是掌握之后它能很大程度提高你的效率。Shell 可以做各种组合搭配,然后构建一个命令序列,让常做的事情自动化。
强力编辑器:
1、我们认为最好是精通一种编辑器,并将其用于所有编辑任务:代码、文档、备忘录、系统管理等等。
2、好的编辑器应该具有这些特性:可配置、可扩展、可编程、语法突显、自动缩进、类IDE特性。
3、编辑器对生产效率是有影响的。试想当我们需要一个字符一个字符或者一行一行移动时,按一次键,就以词,行,块的单位移动,显然效率更高。然后做什么。选一种强大的编辑器,好好学习它。不断学习,减少你敲击的次数。设法扩展它,让它能胜任更多任务。
源码控制:
1、原谅我们犯错的按钮是 UNDO 键,通常他们还支持多级 UNDO 和 REDO。而源码控制系统就相当于一个巨大的 UNDO 键,一个项目级的时间机器。源码控制系统(SCCS)能够追踪你在源码和文档中做的每一项改动。
2、应该总是使用源码控制,即使团队只有你一人,即使项目很小。
调试:
1、调试心理学。调试的目的是解决问题,不要因为别人提出 bug 而发起进攻。
2、当目睹 bug 发生或者看到 bug 报告时,第一反应不要是“那不可能”。很明显已经发生了,把时间用在思考它为什么产生上面。
3、使数据可视化。例如循环引用问题,如果可视化的话可以很轻易地进行排查。
4、遇到无法定位的问题时,对着屏幕解释自己的实现逻辑,很可能在说的过程中你自己就发现了问题所在。
5、对 bug 原因进行复盘。修复了一个 bug,不要就让它结束了,想一下,为什么它会出现了,如何避免。定位过程如果耗时较长,也需要复盘下为何花费了那么长时间,以及后续如何优化。