QS0004-2012 瞿氏标准(Qu's Standards)软件项目代码结构质量评价标准

本文提出了QS0004-2012瞿氏标准,用于评价软件项目的代码结构质量。标准定义了四层十二包的结构,并详细说明了层评分和包评分的评定规则,旨在为软件开发提供代码质量评价依据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  

瞿氏标准(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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值