第三章:基本工具
需要的工具经过认真挑选,打造得坚固耐用、并用于完成很少与其他工具重合的特定工作,最重要的是刚刚出道的木匠拿在手里会觉得很顺手。
学习与适应,各种工具有自己的特性,相应的特殊对待。
工具放大你的才干,想着定期增添工具,总是寻找更好的做事方式。
让需要驱动你的采购,要乐于超越IDE所施加的各种限制--保持基本工具集的“锋利”与就绪。
调试技能---程序员
十四、纯文本的威力
纯文本:持久地存储知识的最佳格式:给予自己既能以手工方式、也能以程序方式操作知识的能力---实际上可以随意使用每一样工具。
大多数二进制格式问题在于:理解数据所必须的语境与数据本身是分离的。通过纯文本,你可以获得自描述的、不依赖于创建它的应用的数据流。
与纯文本相比,二进制数据也许更晦涩难懂,但并非更安全。如果不想用户看到密码,他们更高配置参数,就在文件中包含所有参数值的安全哈希值做作为校验和。
纯文本优点:保证不过时-阅读与理解存在区别
杠杆作用-计算世界每一样工具,从远吗管理系统到编译器环境,到独立的过滤器,都能在纯文本上进行操作。
更易于测试
十五、shell游戏
对于操作文本文件的程序员,工作台就是命令shell。利用命令shell的力量,多使用,你会惊讶它能使你的生产率的老怎样的提高。
集成开发环境IDE和GUI界面:所见即所得,所见即全部所得(无法组合自己的各种工具),他们受制于自己的设计者想要提供的能力。
十六、强力编辑
最好精通一种编辑器,并将其用于所以编辑任务:代码、文档、备忘录、系统管理等。
十七、源码控制
进步远非由变化组成,而是取决于好记性。不能记住过去的人,被判重复过去。
使用源码控制系统SCCS:巨大的undo键(撤销),追踪你在源码和文档中的每一项变动,可能吧它们维护的文件保存在某个中央仓库(repository)。
把整个项目置于源码控制系统保护下:你可进行自动的和可重复的产品构建。
十八、调试
没人能写出完美的软件,调试就是解决问题,要据此发起进攻。在计算竞技场上,你应该专注于修正问题,而不是发出指责。
小心“近视”,实际故障可能在你正在观察的地方几步远。
查看bug前,确保在能够成功编译的代码上工作-没有警告,编译器警告级尽可能高。
测试策略:开始修正bug的最佳途径是让其可再现。你认为你知道在发生什么,就到了找出程序认为在发生什么的时候了。
使你的数据可视化,跟踪。
找到问题的原因的一种简单、有特别有用的技术是向别人解释它。
消除过程,如果看到马蹄印,要想到马,而不是斑马。
造成惊讶的要素,某个bug是否让你吃惊,意识到一个或更多的假设是错的。不要假定,要证明。
标签:shell,小工,程序员,源码,修炼,工具,文本,bug From: https://www.cnblogs.com/uninan/p/16939614.html