程序员修炼之道---从小工到专家(第3章)

基本工具
工具放大你的才干。
14,纯文本的威力
什么是纯文本
xml,html,sgml都是良好定义的结构的纯文本。
纯文本,自解释,不依赖创建它的应用。
用纯文本保存知识。
缺点:
占用空间大,计算机处理代价高。
如果担心用户看到密码,就进行加密。
如果担心别人修改配置参数,就在文件中包含所有参数值的安全哈希值作为校验和。MD5?

文本的威力:
保证不过时,杠杆作用,更易于测试。
保证不过时:
自描述,以后也可以被读懂。
杠杆作用:
Unix哲学,锋利的小工具只在意把一件事情做好。可以添加到源码控制,还可以有很多操作diff,fc,sum等。
更易于测试:
如果使用纯文本,那么新增,修改测试数据很简单,回归测试输出的纯文本,可以通过脚本进行检查。
最小公分母:
公共标准,纯文本。

15,shell游戏
GUI好处,所见即所得。坏处,所见即全部所得。
使用脚本可以构建复杂的宏命令,自动化啥的。
利用命令shell的力量
shell使用程序与Windows系统:
Cygwin可以支持一些,为Windows提供Unix工具。

16,强力编辑
一种编辑器:
用好一种编辑器,工具是手的延伸。
编辑器特性:
可配置,可扩展,可编程,语法突显,自动完成,自动缩进,初始代码或文档样板,与帮助系统挂接,类IDE特性。
生产率:
编辑器可以帮助你使常用工作流水线化。vi居然可以这么做: .,+3!sort。还有很长的路要走啊。
学好一个强大的编辑器,尝试扩展它。

17,源码控制
总是使用源码控制
可追踪,可保护等等。
源码控制与构建:
     自动下载源码,自动构建。

18,调试
调试心理学:
     调试就是解决问题,据此发起进攻。
     要修正问题,而不是发出指责。
调试的思维方式:
     不要恐慌
     不要只看局部。
从何处开始
     编译没有警告。
     跟测试人员面谈,测试可能不够。
测试策略:
     再现bug
使你的数据可视化:
     print,log,等,调试程序。
跟踪:
     堆栈,print语句,消息规范一致的格式。
     坏变量?检查他们的邻居。
橡皮鸭:
     你在跟别人解释的过程中,会帮助你找到问题。
消除过程:
     别人很可能没有问题,而是你的系统,你使用的软件。慢慢缩小范围。
造成惊讶的要素
     不要假定,要证明。
     为什么之前没找到,如何不让它再次发生。
     更好的测试挂钩,编写日志文件分析器。
调试检查列表
     问题是症状还是结果
     bug在编译器?在OS?在你的代码里?
     你如何跟同事解释这个bug
     单元测试如何,完整吗
     其他地方又这样的问题吗?
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值