心辰·Dev

C 语言编程格言

声明:本文出自《Practical C Programming》

概述

  1. 注释、注释、注释。在你的程序中加入大量注释,它们告诉其他程序员你做过的处理,同时也告诉你自己所做过的处理。
  2. 使用kiss原则。清晰和简单比复杂和玄妙更好。
  3. 避免副作用。使用++--单独占一行。
  4. 使用前缀版的++--,不要用后缀版。
  5. 绝不要把赋值语句放在条件中或任何其他语句中。
  6. 了解===的区别。
  7. 永远不要不声不响地做空事。

    1
    2
    for (index = 0; data[index < key]; ++ index);
    /*don't program like this*/

设计

  1. 设计程序时,头脑中始终应有“平淡无奇法则”,强调的是程序应该以一种给用户最少惊奇的方式运行。
  2. 令用户界面尽可能简单一致。
  3. 给用户尽可能多的帮助。
  4. 所有的错误信息用单词‘error’清楚滴标识,并尽量给用户一些修改错误的提示。

定义

  1. 一个变量定义占一行,并注释它们。
  2. 让变量名足够长,以易于理解。但不要太长,免得键入困难。
  3. 绝不要使用默认定义。如果函数返回一个整数,把它的类型定义为int
  4. 所有的函数参数应该定义和注释,绝不要用默认定义。
  5. 总要把main定义成:

    1
    2
    int main(void)
    int main(int argc, char *argv[])

预处理器

  1. 在预处理器中,由#define指令定义的变量表达式总是用括号括起来。
  2. 定义时尽可能用const代替#define
  3. 给带参数的宏中的每个自变量加括号()
  4. 包含完整语句的宏应加括号。
  5. 在条件编译中使用#ifdef/#endif指令时,把#define#undef放在程序顶端并注释它们。

风格

  1. 包含在{}中的一个代码块不应长过两页纸,过大的程序可以分为几个较小的简单程序。
  2. 当你的代码开始遇到右边界时,应该把程序语句分成几个小而简单的程序语句。

编译

  1. 总是建立一个 makefile ,使其他人知道如何编译你的程序。
  2. 打开所有的警告标志,使你的程序对错误有敏感性。