`

代码走读 规范和标准清单

 
阅读更多
序号 检查内容
I 排版规范
I-A-1 程序块要采用缩进风格编写,缩进的空格数为4个。
I-A-2 分界符(如大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。在函数体的开始、类和接口的定义、以及iffordowhileswitchcase语句中的程序都要采用如上的缩进方式。
I-A-3 较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。
I-A-4 不允许把多个短语句写在一行中,即一行只写一条语句
I-A-5 if, for, do, while, case, switch, default 等语句自占一行,且if, for, do, while等语句的执行语句无论多少都要加括号{}
I-A-6 相对独立的程序块之间、变量说明之后必须加空行。
I-A-7 在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如.),后不应加空格。
I-A-8 同一行禁止声明多个变量,确保每行只声明一个变量
I-A-9 类属性不要交叉放置,不同存取范围的属性也尽量不要交叉放置。
I-B-1 类方法不要交叉放置,不同存取范围方法也尽量不要交叉放置
   
II 注释规范
II-A-1 一般情况下,源程序有效注释量必须在30%以上。
II-A-2 对于CBB模块:需添加包的注释,包的注释写入一个名为 package.htmlHTML格式的说明文件放入当前路径。
II-A-3 于CBB模块必须添加的包的注释内容:简述本包的作用、详细描述本包的内容、产品模块名称和版本、公司版权。
II-A-4 文件注释:文件注释写入文件头部,包名之前的位置。
II-A-5 文件注释内容:版权说明、描述信息、生成日期、修改历史。
II-A-6 类和接口的注释:该注释放在 package 关键字之后,class 或者 interface 关键字之前。
II-A-7 类和接口的注释内容:类的注释主要是一句话功能简述、功能详细描述,
II-A-8 类属性、公有、保护和私有方法注释:写在类属性、公有、保护和私有方法上面。
II-A-9 成员变量注释内容:成员变量的意义、目的、功能,可能被用到的地方。
II-A-10 公有和保护方法注释内容:列出方法的一句话功能简述、功能详细描述、输入参数、输出参数、返回值、违例等。
II-A-11 对于方法内部用throw语句抛出的异常,必须在方法的注释中标明,对于所调用的其他方法所抛出的异常,选择主要的在注释中说明。对于非RuntimeException,即throws子句声明会抛出的异常,必须在方法的注释中标明。
II-A-12 注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置,不可放在下面,如放于上方则需与其上面的代码用空行隔开。
II-A-13 注释与所描述内容进行同样的缩排。
II-A-14 将注释与其上面的代码用空行隔开。
II-A-15 对变量的定义和分支语句(条件分支、循环语句等)必须编写注释。
II-A-16 对于switch语句下的case语句,如果因为特殊情况需要处理完一个case后进入下一个case处理,必须在该case语句处理完、下一个case语句前加上明确的注释。
II-A-17 边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。
II-A-18 注释的内容要清楚、明了,含义准确,防止注释二义性。
II-A-19 避免在注释中使用缩写,特别是不常用缩写。
II-A-20 避免在一行代码或表达式的中间插入注释。
II-A-21 通过对函数或过程、变量、结构等正确的命名以及合理地组织代码的结构,使代码成为自注释的。
II-A-22 在代码的功能、意图层次上进行注释,提供有用、额外的信息。
II-A-23 Java编码统一采用UTF-8格式
II-A-24 注释应考虑程序易读及外观排版的因素,使用的语言若是中、英兼有的,建议多使用中文,除非能用非常流利准确的英文表达。
II-A-25 方法内的单行注释使用 //
II-A-26 注释尽量使用中文注释和中文标点。方法和类描述的第一句话尽量使用简洁明了的话概括一下功能,然后加以句号。接下来的部分可以详细描述。
II-A-27 顺序实现流程的说明使用1234在每个实现步骤部分的代码前面进行注释。
II-A-28 一些复杂的代码需要说明。
II-B-1 异常的注释必须说明该异常的含义及什么条件下抛出该异常。
II-B-2 在程序块的结束行右方加注释标记,以表明某程序块的结束。
   
III 命名规范
III-A-1 包名采用域后缀倒置的加上自定义的包名,采用小写字母。在部门内部应该规划好包名的范围,防止产生冲突。部门内部产品使用部门的名称加上模块名称。产品线的产品使用产品的名称加上模块的名称。
III-A-2 类名和接口名,是个名词,使用类意义完整的英文描述,,每个英文单词的首字母使用大写、其余字母使用小写的大小写混合法
III-A-3 方法名是一个动名词,使用类意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混合法。
III-A-4 方法中,存取属性的方法采用setter getter方法,动作方法采用动词和动宾结构。
III-A-5 属性名使用意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混合法。属性名不能与方法名相同。
III-A-6 常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用 final static 修饰。
III-A-7 属性名可以和公有方法参数相同,不能和局部变量相同,引用非静态成员变量时使用 this 引用,引用静态成员变量时使用类名引用。
III-A-8 除了变量名外,所有实例,包括类,类常量,均采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。变量名不应以下划线或美元符号开头,尽管这在语法上是允许的。
III-A-9 常用组件类的命名以组件名加上组件类型名结尾。
III-A-10 如果函数名超过15 个字母,可采用以去掉元音字母的方法或者以行业内约定俗成的缩写方式缩写函数名。
III-A-11 准确地确定成员函数的存取控制符号,不是必须使用 public 属性的,请使用 protected,不是必须使用 protected, 请使用 private
III-A-12 含有集合意义的属性命名,尽量包含其复数的意义。
   
IV 编码规范
IV-A-1 明确方法功能,精确(而不是近似)地实现方法设计。一个函数仅完成一件功能,即使简单功能也应该编写方法实现。
IV-A-2 应明确规定对接口方法参数的合法性检查应由方法的调用者负责还是由接口方法本身负责,缺省是由方法调用者负责。
IV-A-3 明确类的功能,精确(而不是近似)地实现类的设计。一个类仅实现一组相近的功能。
IV-A-4 所有的数据类必须重载toString() 方法,返回该类有意义的内容。
IV-A-5 数据库操作、IO操作等需要使用结束close()的对象必须在try -catch-finally 的finally中close()。
IV-A-6 异常捕获后,如果不对该异常进行处理,则应该纪录日志或者ex.printStackTrace() 。
IV-A-7 自己抛出的异常必须要填写详细的描述信息。
IV-A-8 运行期异常使用RuntimeException的子类来表示,不用在可能抛出异常的方法声明上加throws子句。非运行期异常是从Exception继承而来的,必须在方法声明上加throws子句。
IV-A-9 在程序中使用异常处理还是使用错误返回码处理,根据是否有利于程序结构来确定,并且异常和错误码不应该混合使用,推荐使用异常。
IV-A-10 注意运算符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。
IV-A-11 避免使用不易理解的数字,用有意义的标识来替代。
IV-A-12 数组声明的时候使用 int[] index ,而不要使用 int index[] 。
IV-A-13 调试代码的时候,不要使用 System.out 和 System.err 进行打印,应统一使用日志组件。
IV-A-14 如果多段代码重复做同一件事情,那么在方法的划分上可能存在问题。
IV-A-15 不要使用难懂的技巧性很高的语句,除非很有必要时。
IV-B-1 一个方法不应抛出太多类型的异常。
IV-B-2 异常捕获尽量不要直接 catch (Exception ex),应该把异常细分处理。
IV-B-3 对于创建的主要的类,最好置入main()函数,包含用于测试那个类的代码
IV-B-4 集合中的数据如果不使用了应该及时释放,尤其是可重复使用的集合。
IV-B-5 源程序中关系较为紧密的代码应尽可能相邻。
IV-B-6 建议不使用三目运算符
分享到:
评论

相关推荐

    代码走读记录表模板代码走读记录表模板

    代码走读记录表模板代码走读记录表模板代码走读记录表模板

    代码走读记录

    代码走读记录,又称代码审查记录,包含C++代码走读,JAVA代码走读,C#代码走读

    代码走读检查列表[参考].pdf

    在软件开发过程中,代码走读是一项重要的质量保证活动,它能帮助团队成员理解代码逻辑,发现潜在的问题,以及确保代码遵循既定的设计原则和最佳实践。以下是对代码走读检查列表的一些关键点的详细说明: 1. **设计...

    代码走读[总结].pdf

    代码走读是软件开发中的一种重要技术,旨在通过检查代码是否符合编程规范、寻找编译器中的设计陷阱、快速理解源代码、对原有代码的重构等步骤,提高代码的质量和可维护性。 代码走读可以分为四个层次:检查是否符合...

    C++代码走读意见--开发注意事项

    ### C++代码走读意见与开发注意事项 #### 内存管理与安全性 在软件开发过程中,尤其是使用C++这类提供底层内存操作的语言时,代码质量和安全性尤为重要。本篇将基于给定的“C++代码走读意见--开发注意事项”文件中...

    单元测试pclint代码走读重点

    1. **编程规范检查**:确保代码遵循标准的编码规范,提高代码可读性和可维护性。 2. **设计陷阱识别**:找出那些看似正确但实际上可能导致问题的设计模式,这些陷阱往往难以通过编译器检测。 3. **流程理解与问题...

    代码走读时需要关注的内容分析

    ### 代码走读时需要关注的内容分析 #### 一、准备工作 在进行代码走读之前,准备工作至关重要。这部分主要包括以下几个方面: 1. **设计文档**:确保开发人员已获得一个设计文档来理解代码,该文档应该是最新的...

    FFmpeg开发资料和代码走读报告

    通过这些教程和代码走读,开发者可以深入了解FFmpeg的工作机制,并能够根据需求编写自定义的音视频处理程序。无论是开发多媒体应用、搭建流媒体服务器,还是进行音视频分析,FFmpeg都是一个强大的工具,值得深入研究...

    DPDKL2fwd代码走读报告(代码流程分析).pdf

    L2fwd的代码走读报告中详细介绍了L2fwd的代码结构和实现原理。报告中包括了L2fwd的代码注释分析、详细流程图(调用关系)以及运行截图等。 L2fwd的优点 L2fwd的优点包括: 1. 高速的网络数据包转发 2. 能够在x86...

    项目质量控制 代码编写规范

    代码编写规范是项目质量控制的重要组成部分,旨在规范代码编写的标准和格式,以提高代码的可读性、维护性和重用性。以下是项目质量控制和代码编写规范的知识点: 一、代码走读与审查 代码走读和审查是项目质量控制...

    广播分发代码走读

    此过程涉及的关键类包括`ContextWrapper`和`ContextImpl`。 ##### 1. `ContextWrapper.sendBroadcast()` 在`ContextWrapper`类中,`sendBroadcast()`方法最终会调用其父类`ContextImpl`中的相应方法。这一步主要是...

    单元测试代码走读的一些需要注意的内容

    单元测试是软件开发过程中的重要环节,它主要目的是确保代码的正确性和稳定性。代码走读是一种审查技术,通过检查代码的各个部分...在进行单元测试和代码走读时,应逐项检查并修复这些问题,确保代码的健壮性和正确性。

    代码走读检查列表.pdf

    代码走读,也称为代码审查,是软件开发过程中的一个重要环节,它有助于发现潜在的错误、提高代码质量、促进团队间的知识共享以及确保代码符合既定的设计规范和标准。以下是一份详细的代码走读检查列表,它涵盖了从...

    代码走读与研发自测

    详细介绍了代码走读相关的检查点以及单元测试和集成测试相关的理论。

    Apache Spark源码走读:如何进行代码跟读

    ### Apache Spark源码走读:如何进行代码跟读 #### 概述 本文旨在探讨如何有效地进行Apache Spark源码的阅读与理解。Apache Spark作为一款高性能的分布式计算框架,在大数据处理领域占据着重要地位。其核心由Scala...

    ALSPS原理以及mtk平台代码走读.pptx

    环境光传感器通过光敏电阻,光敏二极管,光敏三极管,硅光电池等光敏元件可以感知周围光线,stk3x1x – 光敏二极管

    TI AWR1642 代码走读设计文件

    在这个“TI AWR1642 代码走读设计文件”中,我们将探讨其背后的软件设计与实现。 首先,源码是理解任何硬件设备功能的关键,特别是对于AWR1642这样的复杂系统。源码软件包含了驱动程序、应用程序接口(API)、算法...

    二次雷达代码走读文档.docx

    "二次雷达代码走读文档" 二次雷达代码走读文档是关于二次雷达系统的详细代码分析报告,涵盖了二次雷达的准备工作、程序结构、函数检查等方面的知识点。 一、准备工作 二次雷达文件位于 peripherals 目录下,包括...

    阿里代码规范插件下载 idea 1.0.4

    阿里巴巴发布java开发手册对JAVA研发是一大...对测试来说也是非常有力的工具,代码走读需要一定代码基础,有门槛, 但规范可以通过工具扫描研发代码即可,并给出相关建议规范,测试也可从建议中学习,非常棒的老师。

Global site tag (gtag.js) - Google Analytics