编程修养

 

陈皓搞了32条,我找了些自己需要注意的,罗列在这里

1、注释,包括版本和程序的。
2、对于函数的输入、输出都需要检查,对系统调用的返回值也需要检查。简单一句话,不要相信任何东西,哪怕函数的输入是自己写的另一个函数的输出。
3、将出错处理放前面。如内存分配,先写if (不成功)的部分。
4、头文件的一般格式   #ifndef ....  #define.....    #endif
5、
 mallocfree的操作有以下规则:
  1) 配对使用,有一个malloc,就应该有一个free。(C++中对应为newdelete
  2)
尽量在同一层上使用,不要像上面那种,malloc在函数中,而free在函数外。最好在同一调用层上使用这两个函数。
  3) malloc
分配的内存一定要初始化。free后的指针一定要设置为NULL
6、声明了变量,尽快初始化
7、修改别人的程序时,要尊重他人的劳动
8、合理使用goto
9、声明宏不要加分号
10、不要忽略Warning
11、利用预编译技术,如下所示声明调试函数:
   

    #ifdef DEBUG
        void TRACE(char* fmt, ...)
        {
            ......
        }
    #else
        #define TRACE(char* fmt, ...)
    #endif

于是,让所有的程序都用TRACE输出调试信息,只需要在在编译时加上一个参数“-DDEBUG”,如:

    cc -DDEBUG -o target target.c

于是,预编译器发现DEBUG变量被定义了,就会使用TRACE函数。而如果要发布给用户了,那么只需要把取消“-DDEBUG”的参数,于是所有用到TRACE宏,这个宏什么都没有,所以源程序中的所有TRACE语言全部被替换成了空。一举两得,一箭双雕,何乐而不为呢?

顺便提一下,两个很有用的系统宏,一个是“__FILE__”,一个是“__LINE__”,分别表示,所在的源文件和行号,当你调试信息或是输出错误时,可以使用这两个宏,让你一眼就能看出你的错误,出现在哪个文件的第几行中。这对于用C/C++做的大工程非常的管用。

 

最后一条,我一直都没用过,有机会试试

 

看他的《编程修养》的时候,我发现c的东西又忘了,连传值、传指针、传地址都不记得了,得复习了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值