一.排版:

  1. 代码缩进空格数为4个;
  2. 较长的语句分2行来写;
  3. 函数的参数较多、较长时,分多行来书写;
  4. if、do、while、switch、for、case等关键字,必须加上大括号{}。

二.注释:

  1. 边写代码边注释,修改代码同事修改相应的注释,以保持注释与代码的一致性;
  2. 说明性文件必选在文件头着重说明,例如*.c、*.h文件;
  3. 函数头应该要注释,包括函数名称、输入参数、返回值、功能说明等;
  4. 全局变量和关键的局部变量要注释其功能;
  5. 复杂的宏定义同样要加上注释;
  6. 复杂的结构体同样要加上注释;
  7. 如有相对独立的语句组注释,写在语句组上行,不留空格。

三.标示符:

  1. 变量的命名;
    1. 局部变量以小写字母命名;
    2. 全局变量以首字母大写方式命名(骆驼式);
    3. 定义类型和宏定义常数以大写字母命名;
    4. 变量的作用域越大,它的名字所带有的信息就应该越多。
  2.  变量命名要注意缩写并且让人简单易懂,若是特别缩写要详细说明;
  3. 全局变量和全局函数的命名一定要详细,不惜多用几个单词;
  4. 用于编译开头的文件头,必须加上当前文件名称,防止编译时产生冲突;
  5. 禁止用汉语拼音作为标示符名称;
  6. 建议名称间的区别要显而易见。

四.表达式和基本语句:

  1. 不要编写太复杂的复合表达式;
  2. 不要有多用途的复合表达式;
  3. 如果代码行中的运算符比较多,用括号确定表达式的操作顺序,避免使用默认的优先级;
  4. if语句:
    1. 不可将布尔变量直接跟TRUE、FALSE或者1、0进行比较;
    2. 应当将整型变量用"=="或"!="直接与数字比较;
    3. 避免将浮点变量用"=="或"!="直接与数字比较,应该转化为">="或"<="形式。

五.杂项:

  1. 一些常量(如圆周率PI)或者常需要在调试时修改的参数最好用#define定义;
  2. 不要轻易调用某些库函数;
  3. 对各优先级不熟的话,加上括号;
  4. 不管有没有无效分支,switch函数一定要default分支;
  5. 函数的参数和返回值没有的话最好使用void;
  6. 一些常数和表哥之类的应该放在code中去节省RAM;
  7. 程序编完编译看有多少code多少data,注意不要使堆栈为难;
  8. 减少函数本身或函数间的递归调用;
  9. 编写可重入函数时,若使用全局变量,则应通过关中断、信息量(P、V操作)等手段对其加以保护;
  10. 在多重循环中,应将最忙的循环放在最内层;
  11. 避免循环体内含判断语句,应将循环语句置于判断语句的代码块之中;
  12. 系统运行之初,要初始化有关变量及运行环境,防止未经初始化的变量被引用;
  13. 编写代码时要注意随时保存,并定期备份,防止由于断电、硬盘损坏等原因造成代码丢失。
posted on 2012-03-27 22:19  孜求嵌道  阅读(1165)  评论(0编辑  收藏  举报