"); //-->
建议1:不要说服自己相信“皇帝的新装”
有的错误极具伪装性和欺骗性。
建议2:直接了当地表明意图
但编写代码的本意是希望表达某个意思,但这些代码有可能被误解为另一种意思时,请使用括号或者其它方式让你的意图尽可能清晰明了。这样做不仅有助你日后重读程序时能够更好地理解自己的用意,也方便了其它程序员日后维护你的代码。
建议3:考查最简单的特例
无论是构思程序的工作方式,还是测试程序的工作情况,这一原则都是适用的。这一原则还适用于程序的设计,在设计程序时,可以首先考虑一组输入数据全为空的情形,从最简单的特例中获得启发。
建议4:使用不对称边界
C语言中数组下标从0开始,各种计数错误的产生与这一点或多或少有关系。一旦了解了这个事实,处理这些计数错误就变得不那么困难了。
建议5:注意潜伏在按出的Bug
各种C语言实现之间,都存在着或多或少的细微差别。应该坚持只使用C语言只能够众所周知的部分,而避免使用那些“生僻”的语言特性。这样便于程序的移植工作,而且遭遇到编译器Bug的可能性也会大大降低。
建议6:防御性编程
对程序用户和编译器实现的假设不要过多。如果C编译器能够捕获到更多的编程错误,这当然不错。不幸的是,因为某些原因,要做到这一点很困难。
一个C语言编译器要做到严格检测程序中的各类错误,就要对程序中本意是可移植的部分做到严格的检测,同时对程序中那些需要完成与特定机器相关工作的部分网开一面。另外,某些类型的错误从本质上说是难于检测的。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
智能座舱架构与芯片-软件篇
升级Thor-U芯片!理想MEGA智驾焕新版发起申报 5月上市
千美9W节能灯电路图
由24v电源供电的无损耗LED驱动电路
开源即阳谋:为什么说这是中国AI的突围密码?
黄仁勋:我们的GPU确实贵、但它帮你赚的钱也是“惊人”的
多个开关控制一个灯的方法
赛灵思Virtex-7 GTX收发器演示
SC9012红外遥控发射电路
ylzhjy_日期、时间的显示与调整
特朗普关税\"回旋镖\":伤敌八百自损AI未来?
多点控制走廊定时灯
《商业周刊》:长三角与珠三角的高科技地位之争
实用的闪烁灯电路
[求助]请各位指点一下!!
ysjabcd_速度里程计带时间显示.红外调时
OpenAI装都不装了,提案要求禁用DeepSeek
2024年PCT国际专利申请量排名:华为全球第一、三星增量最快
coldfire5272 PCB有没有兴趣?
地表最贵 AI 模型上线:OpenAI 推出 o1-pro API
SA9904B SPI 介面的三相功率_电能集成电路
SC6121红外遥控专用发射集成电路
SC50462红外遥控发射电路
全球顶尖天才角逐“编程奥斯卡奖”
谷歌宣布达成规模最大的一笔收购
马化腾:希望成为所有机器人厂商的合作伙伴 并非取而代之做硬件
SC3010红外遥控发射集成电路
[灌水]是不是这些人当别人是傻瓜啊
朔萌阁主_八位灯交叉闪烁
四弦_花样流水呼吸灯