"); //-->
建议1:不要说服自己相信“皇帝的新装”
有的错误极具伪装性和欺骗性。
建议2:直接了当地表明意图
但编写代码的本意是希望表达某个意思,但这些代码有可能被误解为另一种意思时,请使用括号或者其它方式让你的意图尽可能清晰明了。这样做不仅有助你日后重读程序时能够更好地理解自己的用意,也方便了其它程序员日后维护你的代码。
建议3:考查最简单的特例
无论是构思程序的工作方式,还是测试程序的工作情况,这一原则都是适用的。这一原则还适用于程序的设计,在设计程序时,可以首先考虑一组输入数据全为空的情形,从最简单的特例中获得启发。
建议4:使用不对称边界
C语言中数组下标从0开始,各种计数错误的产生与这一点或多或少有关系。一旦了解了这个事实,处理这些计数错误就变得不那么困难了。
建议5:注意潜伏在按出的Bug
各种C语言实现之间,都存在着或多或少的细微差别。应该坚持只使用C语言只能够众所周知的部分,而避免使用那些“生僻”的语言特性。这样便于程序的移植工作,而且遭遇到编译器Bug的可能性也会大大降低。
建议6:防御性编程
对程序用户和编译器实现的假设不要过多。如果C编译器能够捕获到更多的编程错误,这当然不错。不幸的是,因为某些原因,要做到这一点很困难。
一个C语言编译器要做到严格检测程序中的各类错误,就要对程序中本意是可移植的部分做到严格的检测,同时对程序中那些需要完成与特定机器相关工作的部分网开一面。另外,某些类型的错误从本质上说是难于检测的。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
555袖珍数字式频率计电路
8051单片机问答
实现芯片全国产化的汽车座椅控制器方案
射频功率放大器的前馈线性化技术介绍
555数字万用表附加频率测试仪电路
linux下对modem编程求教!
linux下对modem编程求教!
8 位AVR_ 微处理器 ATmega8515 ATmega8515L
555指针式电子兆欧表电路
555 20MHz的3-1/2位数字频率计电路
谁帮一下我呀!关于uclinux下串口RTS/CTS控制的问题。谢谢了!
汽车传感系统架构:借助传感获取安全
打造身临其境的汽车音频体验
基于国产MCU开发的高性价比、高性能汽车电动尾门方案
走进泛华恒兴
开关稳压器的功率损耗
51单片机设置软件
大嘴业话:直面国内测试仪器的差距(二)
谁帮一下我呀!关于uclinux下串口RTS/CTS控制的问题。谢谢了!
51单片机实例程序
555 3-1/2位数字频率计数器电路
SAE J1772 和 CCS EV充电接口标准介绍
BMS电池管理系统三种均衡控制算法的区别与应用场景
全方位视频解读TE Connectivity可扩展弹簧夹
相位差与相移
高算力MCU开发,实现多屏交互与毫秒级响应功能的汽车仪表盘方案
6聲道音量控制器PT2258
ADIsim RF-快捷 、易用的收发信机信号链路计算工具
热买LF2407套件
加快电动汽车无线充电的广泛采用