码迷,mamicode.com
首页 > 其他好文 > 详细

好的代码标准

时间:2015-07-29 00:29:08      阅读:350      评论:0      收藏:0      [点我收藏+]

标签:

规范性

(一)排版规范,统一风格

(1)程序采用缩进风格编码。

(2)较长的语句要分成多行书写,不允许把多个语句写成一行。

(3)if、for、do、while、case、switch、default等语句的执行语句,无论多少都要用{}括号,并占一行。

(二)注释准确,描述清晰,优先做到代码的自注释

(1)文件头部应有注释,函数头部应有输入参数,输出参数,函数功能说明。

(2)注释的内容要清楚、明了、含义准确、无二义性。

(3)对代码的注释应不可放在代码下面。

(4)变量、常量、数据结构声明,如命令不是自注释的,必须加以注释。

(5)函数变量命令规范,易于理解。全局变量要有详尽的功能说明。

可靠性

(一)合法高效的访问内存

(1)在memcpy、memset,字符串操作时要预防内存越界,优先使用安全函数。

(2)注意检查数组下标,预防数组访问越界。

(3)不使用未初始化的指针。

(4)根据函数指针进行函数调用时,预先对函数指针的合法性进行检查。

(5)保证字符串中的‘\0‘终止符。

(6)内存申请失效时有相应的处理。

(7)进行强制类型转换时,保证不会越界访问。

(二)避免出现死循环

(1)for、while循环的退出条件是否必然得到满足。

(2)for循环的代码不应对循环控制变量进行修改。

(3)for循环控制变量的类型是否合法,是否会因为运算溢出而导致循环无法退出。

(4)函数是否会一次执行大量的循环,导致系统实时性受到影响,是否有流控制。

(三)避免破坏堆栈

(1)避免定义过大的局部变量,导致堆栈的溢出。

(2)避免使用递归算法,防止调用层次过多,导致堆栈的溢出。

(3)禁止将局部变量的指针返回给上层母函数使用。

(四)避免资源泄露

(1)内存、消息、游标等资源的申请与释放操作是配对的。

(2)对于关键资源,是否有核查机制。

(五)避免死锁与重入

(1)针对多线程并发场景,对临界区有锁保护,避免重入。

(2)最小临界区仅在对数据进行访问及修改时加锁,避免死锁同时考虑自旋锁等提高效率。

(3)不用再锁区域内执行系统调用(如printf等),尽量减少不必要的锁嵌套。

可维护性

(一)功能结构清晰,实现逻辑简洁

(1)合理规划程序,要求结构及层次清晰,易于理解。

(2)函数及模块具有清晰的功能划分,功能简单,明细。

(3)较好对时空复杂度进行控制,是否合理使用“表驱动”的实现方式。

(二)较多的可维护性手段

(1)是否有很便于定位的计算(如调试计数、消息计数等)。

(2)是否有很便于定位的日志,日志中重要信息是否打印完全,是否进行了必要的流控制。

(3)关键模块间消息内容是否加入到EMS跟踪中。

(三)冗余及重用

(1)在服从模块架构的前提下,冗余和重复代码是否做到最少。

好的代码标准

标签:

原文地址:http://www.cnblogs.com/wuyouxiaocai/p/4684575.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!