Jack的嵌入式Linux开发笔记——009——几个开发小技巧

1. 新开发模块尽量多加调试打印信息

        为了方便调试,对于新开发的代码,要尽量多加一些调试打印信息。对于每一个条件分支,都加一条打印信息。对于每一个return语句返回的地方,都加一句打印信息。等功能调试完毕确认没有问题后,可以去掉部分打印,只保留最重要的一些打印。比如返回false的分支要保留,因为它表明这个函数执行出错了。一些业务流程中的关键步骤的打印也要保留,方便在运行过程中确认这些关键步骤确实执行到了。

2. 每个模块的打印信息添加统一的字符串标识

        对于某一个模块,在打印信息中都加入一个统一的标识字符串,这样在查看日志信息的时候,通过搜索这个统一的标识字符串,就可以一次性过滤出所有的相关打印了。举个例子,比如我们现在要开发一个LED点灯的模块,那么我们在这个模块里的所有打印中都加入LED这个字符串,那么代码运行起来后,只需在日志中搜索LED,即可过滤出所有我们想要的信息了。

 

3. 代码设计时就要考虑单元测试的问题

        编写完成一个函数后,要对它进行单元测试。在整个开发过程中,越是在早期进行测试,发现bug的难度越小,越是在晚期进行测试,发现bug的难度越大。所以千万不要等到系统集成测试的时候才去尝试定位问题,单元测试才是发现问题的最好时机。

        对于嵌入式系统开发来说,单元测试可能面临额外的问题,就是有些函数并不适合做单元测试,因为它们可能涉及操作硬件寄存器,或者涉及网络协议。

        所以我们在代码设计的时候,就要考虑这个问题。一种可行的方式是要尽量把函数拆分成不同的类别,第一类函数只涉及操作硬件寄存器,第二类只涉及协议,第三类则与硬件无关且与协议无关。

        第三类函数可以进行完全的单元测试,它们甚至可以不用下载到实际的硬件上,而只需在开发环境就可以进行充分的测试了。

        对于第一类函数,基本上只是读或写寄存器,逻辑很简单,基本不需要做单元测试。

        对于第二类函数,也可以针对协议本身进行完整的测试,可以在开发环境进行测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值