再谈C语言的学习(八)──程序设计的修养

    关于判定一位程序员是否合格(暂且把所有写程序的人都叫做程序员),我们提出了修养的概念。“修养”是要修炼的,你不妨也去武当山、峨嵋山去打坐打坐,回来也可以教教我,我很羡慕那些身手不凡的大侠的。
 
    实际上我大可不必多说什么,因为有位“大侠”已经给了我们做了“修养”的阐释,你可以到他的博客──“陈皓专栏【空谷幽兰,心如皓月】”( http://blog.csdn.net/haoel)上找到答案。陈皓他整理出了一套《编程修养》,很是值得借鉴,这里我引用一下他的部分资料(前段时间他卷入了一场官司,因为他在博客上发的文章被人抄袭出版了。所以以免官司惹上身,我还是郑重地写上“引用”两个字):
 
        01、版权和版本                         02、缩进、空格、换行、空行、对齐
        03、程序注释                            04、函数的[in][out]参数
        05、对系统调用的返回进行判断    06、if 语句对出错的处理
        07、头文件中的#ifndef                08、在堆上分配内存
        09、变量的初始化                      10、h和c文件的使用
        11、出错信息的处理                   12、常用函数和循环语句中的被计算量
        13、函数名和变量名的命名          14、函数的传值和传指针
        15、修改别人程序的修养             16、把相同或近乎相同的代码形成函数和宏
        17、表达式中的括号                   18、函数参数中的const
        19、函数的参数个数                   20、函数的返回类型,不要省略
        21、goto语句的使用                   22、宏的使用
        23、static的使用                        24、函数中的代码尺寸
        25、typedef的使用                     26、为常量声明宏
        27、不要为宏定义加分号              28、||和&&的语句执行顺序
        29、尽量用for而不是while做循环    30、请sizeof类型而不是变量
        31、不要忽略Warning                   32、书写Debug版和Release版的程序
 
    我想具体说说02、03、20点,因为很重要:
 
        02.缩进、空格、换行、空行、对齐:我发现有太多的人没注意这点,因为编译器会忽略这些元素,不管这些元素存在与否,你的程序都可编译通过(如果你写的代码正确的话)。然而一旦你的程序出现逻辑错误,那就麻烦了。如果你的程序有1000行,甚至10000行,你如何找到那个致命的错误?
 
        03.程序注释:没有注释的程序是不完善的,同样一个原因,如果你的程序很长,你又该怎么知道某一语句块的作用?你可以说自己的程序很短,不需要注释,但习惯养成了后我就不敢保证你将来写长程序时会注意到注释。
 
        20.函数的返回类型,不要省略:很多人在写的 main 函数时没有返回类型,编译器会默认是返回 int 型的,如果不在结尾加上一句 return ,那么编译时总有个 Warning 。虽然程序照样可以编译出来,照样可以运行,但是你已经破坏了一个优美的程序代码。正如我在前言中写出的声明“我是一个人,而不是猪”一样,程序一定也要遵循规则,具有良好的声明。
 
    其它的我就不多说了,陈皓给出了具体的答案,都在他的博客里。如果你想浏览他的博客,要注意的是,请不要拿他的文章卖钱,他最近对此很敏感……
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值