声明:本文出自《Practical C Programming》
概述
- 注释、注释、注释。在你的程序中加入大量注释,它们告诉其他程序员你做过的处理,同时也告诉你自己所做过的处理。
- 使用kiss原则。清晰和简单比复杂和玄妙更好。
- 避免副作用。使用
++
和--
单独占一行。 - 使用前缀版的
++
和--
,不要用后缀版。 - 绝不要把赋值语句放在条件中或任何其他语句中。
- 了解
=
和==
的区别。 永远不要不声不响地做空事。
1
2for (index = 0; data[index < key]; ++ index);
/*don't program like this*/
设计
- 设计程序时,头脑中始终应有“平淡无奇法则”,强调的是程序应该以一种给用户最少惊奇的方式运行。
- 令用户界面尽可能简单一致。
- 给用户尽可能多的帮助。
- 所有的错误信息用单词‘error’清楚滴标识,并尽量给用户一些修改错误的提示。
定义
- 一个变量定义占一行,并注释它们。
- 让变量名足够长,以易于理解。但不要太长,免得键入困难。
- 绝不要使用默认定义。如果函数返回一个整数,把它的类型定义为
int
。 - 所有的函数参数应该定义和注释,绝不要用默认定义。
总要把
main
定义成:1
2int main(void)
int main(int argc, char *argv[])
预处理器
- 在预处理器中,由
#define
指令定义的变量表达式总是用括号括起来。 - 定义时尽可能用
const
代替#define
。 - 给带参数的宏中的每个自变量加括号
()
。 - 包含完整语句的宏应加括号。
- 在条件编译中使用
#ifdef
/#endif
指令时,把#define
和#undef
放在程序顶端并注释它们。
风格
- 包含在
{}
中的一个代码块不应长过两页纸,过大的程序可以分为几个较小的简单程序。 - 当你的代码开始遇到右边界时,应该把程序语句分成几个小而简单的程序语句。
编译
- 总是建立一个 makefile ,使其他人知道如何编译你的程序。
- 打开所有的警告标志,使你的程序对错误有敏感性。