打印

关于C于语言编程的建议

[复制链接]
3278|35
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
秋天落叶|  楼主 | 2010-12-25 18:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
C语言是一个强大灵活的工具,而程序员一旦使用不慎有极容易导致错误。要避免这些错误最容易的办法就是事前周密思考,拿到一个程序不假思索、动手就做往往会漏洞百出。因此<<C陷阱与缺陷>>一书中总结的编程建议,对于程序员来说是十分有益的。

  建议1:不要说服自己相信“皇帝的新装”

  有的错误极具伪装性和欺骗性。

  建议2:直接了当地表明意图

  但编写代码的本意是希望表达某个意思,但这些代码有可能被误解为另一种意思时,请使用括号或者其它方式让你的意图尽可能清晰明了。这样做不仅有助你日后重读程序时能够更好地理解自己的用意,也方便了其它程序员日后维护你的代码。

  建议3:考查最简单的特例

  无论是构思程序的工作方式,还是测试程序的工作情况,这一原则都是适用的。这一原则还适用于程序的设计,在设计程序时,可以首先考虑一组输入数据全为空的情形,从最简单的特例中获得启发。

  建议4:使用不对称边界

  C语言中数组下标从0开始,各种计数错误的产生与这一点或多或少有关系。一旦了解了这个事实,处理这些计数错误就变得不那么困难了。

  建议5:注意潜伏在按出的Bug

  各种C语言实现之间,都存在着或多或少的细微差别。应该**只使用C语言只能够众所周知的部分,而避免使用那些“生僻”的语言特性。这样便于程序的移植工作,而且遭遇到编译器Bug的可能性也会大大降低。

  建议6:防御性编程

  对程序用户和编译器实现的假设不要过多。如果C编译器能够捕获到更多的编程错误,这当然不错。不幸的是,因为某些原因,要做到这一点很困难。

  一个C语言编译器要做到严格检测程序中的各类错误,就要对程序中本意是可移植的部分做到严格的检测,同时对程序中那些需要完成与特定机器相关工作的部分网开一面。另外,某些类型的错误从本质上说是难于检测的。

相关帖子

沙发
FVJFIFE| | 2011-1-31 23:36 | 只看该作者
不断调试实践就好

使用特权

评论回复
板凳
思行合一| | 2011-1-31 23:42 | 只看该作者
写的不错

使用特权

评论回复
地板
西早念子| | 2011-6-1 16:30 | 只看该作者

使用特权

评论回复
5
江南寂寞人| | 2011-6-2 09:40 | 只看该作者
顶一个

使用特权

评论回复
6
654245467| | 2011-6-2 13:47 | 只看该作者
要实际中调试才行的

使用特权

评论回复
7
无冕之王| | 2011-6-4 10:07 | 只看该作者
建议不错,还是得多实践,实践出真知嘛

使用特权

评论回复
8
火箭球迷| | 2011-6-6 19:11 | 只看该作者
简洁明了的建议

使用特权

评论回复
9
dfsa| | 2011-6-6 21:05 | 只看该作者
建议不错,值得借鉴

使用特权

评论回复
10
820481597zhao| | 2011-6-7 10:08 | 只看该作者
说得不错

使用特权

评论回复
11
pkat| | 2011-6-7 16:07 | 只看该作者
<<C陷阱与缺陷>>这本书很不错

使用特权

评论回复
12
xsgy123| | 2011-6-7 20:58 | 只看该作者
还是得多编程,光说不练也不行,有思想还是最重要的

使用特权

评论回复
13
baidudz| | 2011-6-14 22:10 | 只看该作者
建议很不错

使用特权

评论回复
14
txcy| | 2011-6-16 13:03 | 只看该作者
要学好嵌入式C语言的基础是必不可少的

使用特权

评论回复
15
xsgy123| | 2011-6-16 19:18 | 只看该作者
正在研究<<C陷阱与缺陷>>这本书,很受启发

使用特权

评论回复
16
pkat| | 2011-6-17 10:09 | 只看该作者
”使用不对称边界“这一点楼主可以再仔细的讲一讲

使用特权

评论回复
17
FVJFIFE| | 2011-6-17 17:21 | 只看该作者
<<C陷阱与缺陷>>这本书确实不错

使用特权

评论回复
18
心情零下| | 2011-6-17 23:40 | 只看该作者
看来以后得注意点

使用特权

评论回复
19
yybj| | 2011-6-18 09:06 | 只看该作者
C语言编程里面有很多技巧

使用特权

评论回复
20
sydl144234| | 2011-6-18 21:53 | 只看该作者
好好

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:落叶很美

138

主题

3044

帖子

1

粉丝