性能效率度量是CISQ给出的4个可以通过代码度量的指标之一。
本文件描述了CISQ自动质量特性度量包含的15个弱点。这些描述根据已发布的OMG®规范中使用形式化的描述进行简化,从其他OMG元模型中指定在机器中表示的弱点,可处理的XMI符号。下表给出了每个弱点及唯一的CISQ标识符、简短的描述性名称和对弱点的更完整描述作为补救建议。
性能效率弱点
衡量软件中包含的可降低系统性能的弱点的程度的指标。
性能或导致处理器、内存或其他资源的过度使用。
CISQ标识符 | 描述 | 陈述 |
ASCMM-PRF-1 | 静态块初始化 | 移除在代码静态块中初始化的变量、字段、成员等 |
ASCMM-PRF-2 | 不可变的文本数据 | 移除功能、方法、过程、存储过程、子例程等中的通过字符串拼接创建的不可变数据 |
ASCMM-PRF-3 | 超过单例类之外的静态数据 | 移除父类不属于单例类或不计数final的静态字段或静态成员。 |
ASCMM-PRF-4 | 复杂的读写存取 | 移除一个其行数超过阈值的非常大的表(默认值为1000000行),由SQL访问连接太多的语句(默认阈值因为连接的最大数目是5),而且太多子查询(最大值的默认阈值子查询数为3)。 |
ASCMM-PRF-5 | 错误的索引 | 移除导致DBMS运行顺序搜索的Select语句表达式、具有索引配置的表或视图 |
ASCMM-PRF-6 | 大型表上的过多索引 | 移除一个记录数超过阈值(默认为1000000行)的且索引太多的表(索引个数默认阈值3)非常大的表 |
ASCMM-PRF-7 | 大型表上的过大索引 | 移除一个记录数超过阈值(默认值为1000000行)且索引太大索引范围的默认阈值为10)的表 |
ASCMM-PRF-8 | 循环中的资源消耗操作 | 移除在循环体或循环条件中直接或间接调用的引起平台资源消耗(消息、锁、文件、流、目录等)的操作 |
ASCMM-PRF-9 | 非存储过程中的过大数据查询 | 移除服务端非存储过程包括过多的数据查询(数据查询默认最大值为5) |
ASCMM-PRF-10 | 客户端代码中过大的数据查询 | 移除客户端包括过多数据查询的功能、方法、子例程等(数据查询默认最大值为2) |
ASCMM-PRF-11 | 绕过数据管理器的数据访问 | 移除没有通过数据管理器组件(如已审核的数据访问组件列表)存取数据的函数、方法、过程、存储过程、子例程等,从而规避授权数据访问程序。 |
ASCMM-PRF-12 | 过多的大数据元素 | 移除过多(非基元)数据类型聚合的实例(聚合的最大数量的默认值非基元类型为5) |
ASCMM-PRF-13 | 没有使用连接池数据存取 | 移除函数、方法、过程、存储过程、子例程等在不使用连接池功能的情况下执行数据资源管理操作的实例(连接池功能的使用取决于技术;例如,通过向连接添加'pooling=false'来禁用连接池用ADO.NET或'COM.Sun.jndi.LDAP.Connect.pool’环境参数在Java中的值) |
ASCMM-PRF-14 | 没有释放内存 | 移除内存资源显式分配给变量、字段、成员等的实例,这些变量、字段、成员等在整个应用程序中使用,但从未释放。 |
ASCMM-PRF-15 | 没有释放 | 移除方法引用对象但是没取消引用的实例。 |
(完)