您的位置:首页 > 编程语言

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: