QS0004-2012 瞿氏标准(Qu's Standards)软件项目代码结构质量评价标准
2012-02-10 22:30
435 查看
瞿氏标准(Qu's Standards)软件项目代码结构质量评价标准
QS0004-2012
一、前言
一直以来,我们都希望能编写出高质量的代码来,但是什么样的代码是高质量的呢?似乎我们连评价好坏的标准都没有,那怎么能知道什么样的代码是好的呢?为此,我们需要制定一个评价代码质量好坏的标准,然后以此标准来对代码进行客观的评价.
本文先对软件项目的代码结构进行规范.
二、由来
公认的一个软件项目由三层组成:表现层,逻辑层,持久层.本标准以此为基础进行标准化,同时结合自己的经验,将一个软件项目划分成四个层,分别为:表现层,逻辑层,持久层,全局层.
同时每个层再分为3个包,分别为:通用包,特定包,接口包。将此种结构称为:4层12包标准结构。
四层十二包标准结构:
层 包 分值
表现层 1
接口包 1
通用包 1
特定包 1
逻辑层 1
接口包 1
通用包 1
特定包 1
持久层 1
接口包 1
通用包 1
特定包 1
全局层 1
接口包 1
通用包 1
特定包 1
解释:
全局层:此层放置横跨多个层之间的公用代码。
通用包:此包放置通用功能的代码,可以被所有项目共享,可以成为通用引擎的一部分。
特定包:此包放置特定功能的代码,是同类型业务项目的同享部分,可以成为业务引擎的一部分。
接口包:此包放置层与层之间的接口代码,包括接口定义和工厂类等上层直接可见的代码。
三、评定标准:
1、层评分:
a、缺省层判断:
根据项目的功能来判断项目应该包含几层,对于一些特定项目,可能部分层缺省,比如没有数据库处理,则可以缺省持久层。如果有某层缺省,则评分加上对应该层的得分4分。
b、层
如果该层存在,且有明确的目录定义,则该层得1分。
如果该层有多个目录定义,或之下的代码未合理放置,则该层得0.5分。
如果该层没有定义,则该层得0分。
c、多层
如果某个项目包含更多的层,则按多层的方式来计算。
具体计算方法如下:
仍然将项目划分成四层结构,将多余的层并入其中的某一层来计算,在对这层计算的时候,先计算各个层的层评分和包评分,然后取平均值。
假设项目总共分8层,将多余层并入逻辑层,则逻辑层共包含5层,则5层共得分20分,再取平均值20 / 5 = 4分,最后逻辑层得分4分。
2、包评分
在项目的功能上此层应该存在,则对此层进行包评分。
如果对应包有目录定义,且相应功能的代码都在此目录下合理放置,则对应包得1分。
如果对应包有目录定义,但代码未合理放置,或有包含其他包的代码,或有多个目录定义,则对应包得0.5分。
如果对应包没有目录定义,则对应包得0分。
3、总分
总分是将层评分的得分加上各层的包评分的得分之后的总和。
总分满分为16分,分值越高表示项目的代码结构的质量越好。
Copyright (C) 2012 Qu Zhengfeng. All Rights Reserved
QS0004-2012
一、前言
一直以来,我们都希望能编写出高质量的代码来,但是什么样的代码是高质量的呢?似乎我们连评价好坏的标准都没有,那怎么能知道什么样的代码是好的呢?为此,我们需要制定一个评价代码质量好坏的标准,然后以此标准来对代码进行客观的评价.
本文先对软件项目的代码结构进行规范.
二、由来
公认的一个软件项目由三层组成:表现层,逻辑层,持久层.本标准以此为基础进行标准化,同时结合自己的经验,将一个软件项目划分成四个层,分别为:表现层,逻辑层,持久层,全局层.
同时每个层再分为3个包,分别为:通用包,特定包,接口包。将此种结构称为:4层12包标准结构。
四层十二包标准结构:
层 包 分值
表现层 1
接口包 1
通用包 1
特定包 1
逻辑层 1
接口包 1
通用包 1
特定包 1
持久层 1
接口包 1
通用包 1
特定包 1
全局层 1
接口包 1
通用包 1
特定包 1
解释:
全局层:此层放置横跨多个层之间的公用代码。
通用包:此包放置通用功能的代码,可以被所有项目共享,可以成为通用引擎的一部分。
特定包:此包放置特定功能的代码,是同类型业务项目的同享部分,可以成为业务引擎的一部分。
接口包:此包放置层与层之间的接口代码,包括接口定义和工厂类等上层直接可见的代码。
三、评定标准:
1、层评分:
a、缺省层判断:
根据项目的功能来判断项目应该包含几层,对于一些特定项目,可能部分层缺省,比如没有数据库处理,则可以缺省持久层。如果有某层缺省,则评分加上对应该层的得分4分。
b、层
如果该层存在,且有明确的目录定义,则该层得1分。
如果该层有多个目录定义,或之下的代码未合理放置,则该层得0.5分。
如果该层没有定义,则该层得0分。
c、多层
如果某个项目包含更多的层,则按多层的方式来计算。
具体计算方法如下:
仍然将项目划分成四层结构,将多余的层并入其中的某一层来计算,在对这层计算的时候,先计算各个层的层评分和包评分,然后取平均值。
假设项目总共分8层,将多余层并入逻辑层,则逻辑层共包含5层,则5层共得分20分,再取平均值20 / 5 = 4分,最后逻辑层得分4分。
2、包评分
在项目的功能上此层应该存在,则对此层进行包评分。
如果对应包有目录定义,且相应功能的代码都在此目录下合理放置,则对应包得1分。
如果对应包有目录定义,但代码未合理放置,或有包含其他包的代码,或有多个目录定义,则对应包得0.5分。
如果对应包没有目录定义,则对应包得0分。
3、总分
总分是将层评分的得分加上各层的包评分的得分之后的总和。
总分满分为16分,分值越高表示项目的代码结构的质量越好。
Copyright (C) 2012 Qu Zhengfeng. All Rights Reserved
相关文章推荐
- QS0002-2012 瞿氏标准(Qu's Standards)IT从业人员工资计算标准
- QS0003-2012 瞿氏标准(Qu's Standards)系统规模分级标准
- QS0001-2012 瞿氏标准(Qu's Standards)编号规范
- 瞿氏标准(Qu's Standards)-概述
- 软件质量评价标准
- 软件开发与项目管理易理——布鲁克斯法则 ( Brook's Law )
- 软件质量评价标准
- 软件质量评价标准
- 软件质量评价标准
- .net开源我也开>>C#远程控制软件整个项目代码发布
- spring data jpa 标准查询的项目代码结构
- C# 代码标准 .NET2.0版(三)项目设置和结构
- 软件质量评价标准
- 软件质量评价标准
- 软件质量评价标准
- 错误代码: 1449 The user specified as a definer ('root'@'%') does not exist
- iOS 当运行Xcode6时,编译代码成功,但是登陆模拟器失败,显示错误:The Operation couldn't be completed.(LaunchServicesError error
- Oracle内存结构详解(六)--UGA、CGA及软件代码区
- 软件项目估算之代码行估算方法
- java代码质量检测评价工具