好的代码标准

规范性

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

(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)在服从模块架构的前提下,冗余和重复代码是否做到最少。

时间: 2024-12-15 02:46:11

好的代码标准的相关文章

好的前端代码标准

开始学前端的时候,遇到什么问题,从网上查资料,解决了就pass,不过心里心里还是比较没谱的,因为不符合学院派的作风.起码也得知道前端的原则是什么,好的前端代码的标准是什么,才能评价自己的代码. 最近终于抽空看了看有关JS的书,总算心里有了点底. 一.层次分离 把前端分为三层:结构层.表示层.行为层,这三样分别对应者HTML.CSS.JS.基本的现状是: 1. HTML里能嵌入CSS和JS 2. CSS和JS功能上有重叠的地方 所谓层次分离就是不混淆各自的主要功能,狭义上说就是HTML定义结构,C

W3C代码标准规范

我们知道,HTML5添加了标签的容错性,在书写方面变得更灵活.不像XHTML那样,有严格的代码规范,不符合规范就不给我们解析.那么,我们在写代码时为什么还要刻意去符合哪些所谓的"规范"呢? 答案这一个就够了:利人利己,便于维护!如果你写的代码不符合"规范",查找代码的错误时或者后期的维护会让你痛恨自己当初怎么会写出那么乱的代码. 有些规范我们也许平时不注意,但无形中也用了.为了避免漏掉一些规范,我这里就整理一下,以便以后有意识的去用. 1.<!DOCTYPE

最新固定资产分类与代码标准

固定资产分类与代码 中华人民共和国国家标准GB/T1885-2010 二○○九年九月九日发布的<财政部国家税务总局关于固定资产进项税额抵扣问题的通知>(财税[2009]113号)指出,增值税转型改革实施后,一些地区反映固定资产增值税进项税额抵扣范围不够明确.为解决执行中存在的问题,经研究,现将有关问题通知如下:<中华人民共和国增值税暂行条例实施细则>第二十三条第二款所称建筑物,是指供人们在其内生产.生活和其他活动的房屋或者场所,具体为<固定资产分类与代码>(GB/T14

C# 开发代码标准

开发标准文件 文件名称:C#开发规范 版 本:V2.0 前言 目的是为了规范每个人的编程风格,为确保系统源程序可读性,从而增强系统可维护性,制定下述编程规范,以规范系统各部分编程.系统继承的其它资源中的源程序也应按此规范作相应修改. 规则: 编程时强制必须遵守的原则.建议: 编程时必须加以考虑的原则.格式: 对此规范格式的说明.说明: 对此规范或建议进行必要的解释.示例: 对此规范或建议从正.反两个方面给出例子. 内容包括:排版.命名规则.基本原则.注释.表达式与语句.类与接口, JavaScr

HTML代码标准离我们有多远?

严谨纯净的HTML代码: 1.元素 1)必须正确嵌套 2)必须始终关闭<br />,<input /> 3)必须小写 4)必须有一个根元素 2.属性 1)必须使用小写 2)必须用引号包围width="10",height='5' 3)禁止最小化disabled="disabled",readonly="readonly" 3.特殊字符使用字符实体,如<,>,& w3c提供了html.xhtml的验证服务

SonarQube代码质量管理平台安装与使用

Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测 sonarQube能带来什么? Developers' Seven Deadly Sins1.糟糕的复杂度分布  文件.类.方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组

代码复审核查表

我们组人员:28张洋,20王凯新,30何玉倩 任务分工 :张洋负责代码,王凯新负责窗体,何玉倩负责审查. 1.概要部分 (1)代码能符合需求和规格说明么? 说明代码基本上没有出现多少错误,但是不代表代码就是完全正确无误的,其中还有其他条件的限制,包括执行后是否能够达到目的. (2)代码设计是否有周全的考虑? 代码的设计是比较周全的,但不是绝对的,我们的能力也许有限,并不能考虑到所有的方面,若有一定的疏漏还需关注. (3)代码可读性如何? 代码具有一定的可读性. (4)代码容易维护么? 由于在程序

代码复审

一.这次复审的是李成帅(130201127)同学的四则运算代码,源代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms; names

r.js压缩代码常用的配置及命令

最近用require写了一个网站的模块,到压缩的时候,各种查资料学习,但由于时间较紧,将所有代码都压缩成一个文件,导致代码的体积很大,今天抽时间网上参考下官网的说明配置,将这次压缩代码的配置及运行命令记录下来,以后留着用. 1. js的压缩 这次只是初步应用,如果有好的方法或有误的地方,还望各位大侠们指教. 第一种配置的文件: 需要把所有依赖的文件都压缩到当前代码中. ({ baseUrl: "./", paths: { amd_modules: "../amd_module