`
kimmking
  • 浏览: 546556 次
  • 性别: Icon_minigender_1
  • 来自: 中华大丈夫学院
社区版块
存档分类
最新评论

xx项目代码规范与项目质量

阅读更多

从以往各种的经验来看,一个优秀的产品或项目,经过千锤百炼,成为一个内涵丰富的宝藏:文档、代码、设计、bugfix和各种思想的火花,都沉淀下来,变成了很多人长期的资产和营养。在这个过程中,项目的质量是长期稳定的。但是一个一般的项目,由于各种因素,开始就质量一般,后来又各种曲折,最终项目质量会从开始的一般水平,很快的下降,收敛到一个非常低得水准。在这个过程中,文档和设计开始残缺,代码开始腐朽,散发着我们常说的bad smell的味道。那么如何防止这个变坏的过程呢?一是项目一开始就要按照一个简单高效的方式实施一些规范:代码风格、命名、注释等等,约束概念和形式上的一致性;二是制定较高的质量目标:unit testcode/sql/document review等等,提高项目质量;三是持续的执行。

 

代码风格

-- 亲,一个不合适的ctrl+f会变成merge代码的噩梦,请每次格式化的时候,考虑下你用的是不是跟大家一致的模板。

-- 代码应该是简洁的,清晰的,可读性强的,高效的

模板保证新建的类和方法的注释风格一致,format格式一致(按120字符每行)。

合理的缩进和空行,便于阅读代码。

 

提供格式模板,请在eclipse中使用:

详见上面链接wiki文档的附件,其中codetemplate.xml用于eclipsejava-code style-code templateeclipsetemplate.xml用于java-code style-Formatter

 

命名标准规范

-- 统一各种层次对象的命名,一方面是使得团队多人的代码更一致,更一方面更是我们自己概念理解的统一。

 

项目

     统一使用ieo-xxx方式命名project,比如ieo-webieo-bizieo-common等等。

包、类

     包名必须小写,尽量一个单词或缩写。

     包名应该和所在项目名一致,与包下的类的作用一致。

     实现类所在的包应该是接口或抽象类的包名后缀.impl

     类名的每个单词首字母必须大写。

     类名必须能直接表达本类的作用。

     类名的后缀必须表达出其所在分层,比如ScreenAOManagerServiceDAO等等。

方法

     方法名称首字母必须小写,后续每个单词首字母大小。

     方法名必须能直接表达方法体的作用。

     参数名称必须是有意义的。

     增删改查的方法使用create, delete, update, find开头。

局部变量

     局部变量名称必须是有意义的,禁止使用user1,user2,user3,a,b,c命名。

常量

     静态常量需要加上final

     公用的常量必须放在常量类中

     非公用的常量可以放置在使用的类中,声明为private

     可以枚举的常量集合必须使用常量或枚举类

     常量名称必须是有意义的

     常量必须全部大写,并使用下划线连接不同的单词

     使用很少的字面量,在不影响阅读的情况下可以不使用常量声明,直接写在代码中

配置文件

     spring相关的配置文件,按层次或功能划分不同的配置文件

     spring所有的bean,一般按照类名或接口名首字母小写命名

     spring配置文件默认使用bynameautowire

     sqlmap必须使用xxxx-sqlmap结尾

VM文件

     文件名必须与内容在意义上一致。

     文件名首字母小写,后续单词首字母大写。

     vm文件中的变量引用需要注意使用!判断空。

名词参照表

     对于行业相关术语的和常用命名的前缀,请在这里查询,如果找不到请添加到这里并周知大家:

     xxxxxxx

 

注释规范

-- 如果说代码本身说明了在做什么,注释则是说明了为什么要这么做。复杂的代码没有注释,过几天你自己都看不懂了。

接口、类和public的方法必须要有注释,请参考风格模板,或者eclipse里在方法和类上shiftalt+J

待定的功能、review的问题、修复的bug,请使用TODOREVIEWFIXME标记。

bug修复,问题排查时修改的关键代码,请加上注释,说明修改人,修改时间,问题分析和采取的措施,如果说明较多在wiki上,请加上链接。

 

日志标准规范

-- 日志是用来排查问题的,你今天写什么注定你以后用什么。
所有写操作必须有日志
所有日志必须有唯一标识(比如update一条数据,必须记录id

必须说清楚本操作是做什么的,影响了什么,结果如何
所有与第三方交互数据必须输出原始报文(比如xmlsoap

日志必须使用enabled判断:log.isDebugEnabled(){ log.debug(...); }

 

单元测试要求

-- 单元测试的目的是持续的保证代码方法层次的逻辑是对的,一直都是对的,改了也是改对了的。

最小粒度方法级的逻辑测试

覆盖所有逻辑分支判断和边界条件

不依赖具体的某些绝对条件,比如写死的日期

不能catch异常不处理

test case不得在运行时有依赖关系

test case的包名类名与被测类保持一致

test case的方法建议一般使用中文

mock的对象尽量mock,比如对外部的依赖,本test case不关注的manager-

核心模块如bizdalcore,要求必须70%以上。

其他模块如web等,建议30%以上。

 

SVN要求

-- svn是可靠的,当然前提是使用svn的人必须是可靠的。

提交时必须输入说明修改目的的备注,比如修改日期格式化错误问题,解决bug id123456

分支名称必须带日期版本号加上分支说明,比如廉航的分支:v051216_20120308_Lianhang

 

其他要求

整个项目使用GBK编码

设计文档评审前必须发出并收集反馈意见,评审需要针对意见

模块代码完成和大范围修改(非小bug fix),必须code review

 

 

参考列表

xxxxx

4
0
分享到:
评论
3 楼 Stanley_Qiu 2012-12-24  
学习了, 良好的代码风格真的很重要,特别是在团队里面统一风格更重要了!后面对与SVN的使用,值得学习,现在公司项目里面就存在这样的问题,很多同事都习惯性的直接提交,没任何注释,下次部门会议得提提了  哈哈!!
2 楼 wyp12 2012-11-20  
为什么用gbk


现在不是都建议统一用utf-8吗?
1 楼 dietime1943 2012-03-24  
特来拜读此文章

相关推荐

    VUE-CLI项目代码规范.docx

    VUE-CLI 项目代码规范 在本文档中,我们将讨论 VUE-CLI 项目代码规范,涵盖命名规则、CSS 书写规范、JS 书写规范和 .vue 文件书写规范等方面的内容。这些规范旨在帮助开发者更好地编写 Vue.js 项目代码,提高代码...

    XX公司-编程规范与案例

    在IT行业中,编程规范与案例是开发者们遵循的准则,以确保代码的质量、可读性和维护性。XX公司的编程规范旨在提高团队合作效率,降低软件维护成本,同时也是培养良好编程习惯的重要工具。以下是对编程规范和相关案例...

    团队开发规范及代码规范

    在软件开发过程中,团队开发规范及代码规范是确保项目质量和效率的关键因素之一。良好的规范不仅有助于提高代码的可读性和可维护性,还能促进团队协作,降低新成员的学习成本。本文将详细介绍《团队开发规范及代码...

    XX公司内部编程规范与范例

    其次,"华为 编程规范与案例"可能具体展示了华为公司在实际项目中的编程实践,这为我们提供了宝贵的参考。华为作为知名的科技企业,其编程规范往往具有很高的实用价值,如强制性的错误处理、避免硬编码、代码复用...

    代码规范(VB.NET)

    《VB.NET代码规范》这一文档详细阐述了在项目开发中,开发人员应遵循的一系列编码规范,旨在提高代码的质量和效率。 #### 二、变量命名规则 变量命名是编程中最基础的部分之一。在VB.NET中,建议使用前缀(小写...

    Git代码管理规范.doc

    Git 代码管理规范 在软件开发过程中,代码管理是非常重要的一步,Git 作为目前最流行的版本控制系统,已经广泛应用于各个领域。...遵循这些规范,可以确保项目的代码质量和可靠性,并提高项目的开发效率和质量。

    项目开发规范文档-参考

    《项目开发规范文档-参考》是一份旨在指导XX公司开发团队遵循的标准和规范文档,旨在确保项目的高效、高质量和一致性。文档分为两大部分:项目开发流程规范和Coding开发规范。 项目开发流程规范详细阐述了从项目...

    D7-XX项目-代码走查记录-yyyymmd.pdf

    在"D7-XX项目"的代码走查记录中,主要涉及了多个方面,包括命名规范、注释、变量声明与初始化、代码风格、可靠性和异常处理、以及可维护性和可读性。 1. **命名规范**:检查代码是否遵循了一致的命名规则,比如函数...

    XX项目软件测试计划.docx

    本文档主要阐述了XX项目的软件测试方案,旨在确保软件的质量、稳定性和安全性。该方案由中山大学南方学院电子通信与软件工程系于2021年2月9日制定,经过审批和批准,具有权威性和执行性。 一、概述 1.1 工程简介 ...

    软件项目管理标识规范

    通过遵循这些标识规范,开发人员可以更有效地理解代码,减少误解,提高代码质量,同时也方便后期的维护和升级。标识规范的文档,如"标识规范.doc",将详细列出这些规则和最佳实践,帮助团队成员统一标准,形成良好的...

    XX项目管理暂行制度.doc

    《XX项目管理暂行制度》是深圳蓝凌公司制定的一份内部管理文档,旨在规范企业项目的运作流程,提高项目管理效率。这份文件包含了项目管理的多个核心方面,如项目的目的、适用范围、项目分类、岗位职责以及详细的工作...

    开发大型项目参考-数据库设计规范

    1. **目的**:建立命名规范是为了创造有意义、清晰、简短且独特的名字,提升模型质量和理解度。 2. **表的命名规范**: - 使用“限定词+表”结构,限定词选用业务词汇,如“纳税人”,“发票”等。 - 类别名可选...

    C_代码规范

    ### C#代码规范详解 #### 一、编程风格 ##### 1.1 统一编程风格的意义 统一的编程风格对于提高代码的质量至关重要。它不仅可以增强代码的可读性和可维护性,还能够减少开发过程中的错误率。此外,统一的编程风格...

    Verilog编码规范.docx

    通过遵循这些规范,开发者可以编写出更高质量的Verilog代码,为DTV系列芯片以及其他硬件设计项目提供可靠的基础。同时,规范的持续更新和改进也需要团队成员的积极参与和反馈,以适应不断变化的技术需求。

    XX集团数据研发-数据仓库规范.docx

    通过对各个阶段流程与规范的详尽描述,帮助团队成员更好地理解各自的角色与职责,确保项目顺利进行。 3. **适用范围** - 参与数据产品设计(PD)、数据架构的人员。 - 参与数据仓库ETL设计、开发与测试的人员。 ...

    c#编程项目编码规范

    通过遵循这些规范,开发者能够减少错误,提高代码质量,加快项目进度,同时为后续的代码维护与升级奠定坚实的基础。因此,无论是初学者还是经验丰富的程序员,都应当将编码规范视为日常开发活动中的重要组成部分,...

    C#代码规范,有详尽分析

    C#作为一种广泛使用的编程语言,其代码规范不仅有助于提升代码的质量,还能增强代码的可读性和可维护性。统一的编程风格能够减少不同开发者之间的认知差异,使得新加入的成员能够更快地融入项目,同时也有助于减少...

    项目文档管理规范.doc

    项目文档管理规范是确保项目顺利进行的关键因素之一,它涵盖了从项目启动到结束的整个过程中所有相关文件的创建、审批、存储和分发的过程。以下是对文档管理规范的详细解释: 1. **文档控制** - **变更记录**:这...

    LPC17XX_Keil工程模板及配套例程 + LPC17XX_IAR工程模板及配套例程

    总结,LPC17XX_Keil和LPC17XX_IAR工程模板及其配套例程为开发者提供了一个高效、规范的开发环境,无论是在教学、竞赛还是实际工程项目中,都能极大地缩短开发周期,提升代码质量。通过深入研究和实践这些模板和例程...

Global site tag (gtag.js) - Google Analytics