《JavaScript专家编程》——9.2 如何度量质量

9.2 如何度量质量

你正在为质量寻找一个可用的定义,但因为它们涉及到编程,所以需要首先考虑它的各个方面。通常会将这些方面表示为软件度量:

软件度量是一个软件在某些属性或其规格上的度量。由于定量度量在所有科学中都是必不可少的,因此计算机科学从业者和理论家通过不断努力,将类似的方法引入软件开发中。我们的目标是获得客观的、可重复的和可量化的度量,这可能包含很多有价值的实践,包括进度规划、预算规划、成本估算、质量保证测试、软件调试、软件性能优化以及人员任务分配优化。

我已经努力总结出六个指标,来度量代码的质量。

  • 美观性:该指标度量代码的可视化内聚,同时也包括格式、命名、文档结构上的周到考虑和一致。度量美观性需要回答这些问题:

    • 代码的可读性如何?
    • 页面上各个部分的代码是如何组织的?
    • 从编程风格来看是否使用了最佳实践?
  • 完整性:完整性度量代码是否符合客户要求1。要实现完整性,程序必须满足或超出具体问题的需求。完整性还可以度量具体的实现是否符合行业标准或理想化的程度。关于完整性的度量需要回答以下问题:
    • 代码是否解决了要解决的问题?
    • 对于给定的期望输入,代码能否产生所需的输出?
    • 是否符合所有已定义的用例?
    • 是否安全?
    • 是否能很好地处理边界情况?
    • 是否已通过测试?
  • 性能:性能度量是将实现与公认的标准进行对比,以确定它有多成功。这些指标包含程序大小、系统资源利用效率、加载时间或每行代码的bugs数等属性。要想使用性能指标,你需要回答以下问题:
    • 这种方法的效率如何?
    • 它能够处理多大的负载?
    • 代码能力的极限如何?
  • 成本: 这个指标度量开发和为维护代码的成本。成本包含时间、金钱以及使用的资源。度量成本需要回答以下问题:
    • 代码的可维护性如何?
    • 能否轻松部署?
    • 是否有文档?
    • 花费了多少精力?
  • 耐久性: 通过度量程序在实际中运行的生命周期来衡量耐久性。耐久性也可以看作是可靠性的一个度量,这是度量寿命的另一种方式。可以回答以下问题来度量耐久性:
    • 是否能可靠地执行?
    • 在重新启动、升级和/或更换之前,程序能运行多久?
    • 是否可扩展?
  • 可接受性: 可接受性度量的是其他程序员如何评估和评价代码。跟踪可接受性可以回答以下问题:
    • 理解代码有多困难?
    • 设计决策经过了多少深思熟虑?
    • 这种方法是否利用了最佳实践?
    • 使用起来是否愉快?
时间: 2024-10-05 14:21:48

《JavaScript专家编程》——9.2 如何度量质量的相关文章

《JavaScript专家编程》——9.4 度量JavaScript代码质量

9.4 度量JavaScript代码质量 为了让计算精度上升到最高,客观质量分析以程序化的方式对代码进行分析.这项任务可以使用编程工具完成,这些工具能够在多种情况下评估代码,根据各项指标得到最终的质量得分.本节介绍了静态代码分析,这种方法非常适合评估JavaScript的质量. 静态代码分析 静态代码分析就是不通过运行代码来分析代码的过程.静态分析看起来非常像一个文本编辑器的拼写检查器.拼写检查器扫描文档的正文来寻找错误和含糊之处,而并不需要了解文本的意义.同时,静态代码分析从功能上分析源代码的

《JavaScript专家编程》——第9章 代码质量 9.1 定义代码质量

第9章 代码质量 质量不是一种行为,而是一种习惯. --Aristotle 写高质量的JavaScript是什么意思?质量能度量吗?还是说它是一个主观感受,类似于美和艺术的柏拉图式的理想?程序员往往会在质量的主观和客观理解之间摇摆不定.他们提出了诸如软件工艺的概念,这是一种用类似手工艺的方法来编写软件的方式.软件工匠常被这样描述:他们拥有超群的技术,总是能将工作提炼为基本的.本质的部件.这样一个工匠在电气上被称为摇滚明星程序员.这基于两个标准,一是这个人具有如同艺术家一样的独特天赋,二是他工作的

《JavaScript专家编程》——导读

**前言**在我看来,好的技术书籍是磁带.藏宝图和现场札记内容的混合体.本书就是我灌注了很多心血而将这些不同形式融为一体的一本书. 老一辈的人还记得,磁带内容是由很多歌曲组成的.这些磁带经常被作为礼物送给朋友.恋人.人们会挑选一些个人喜欢的歌,或者围绕某个主题组织在一起的歌,录入这盘磁带中.通常,当听磁带的人听到这些歌时,这些歌就会勾起人们对录制者的记忆.这本书就是一盘我录给你们的JavaScript方面的磁带.这些章节包括JavaScript中我喜欢的一些方面,也包括不容易被理解的主题,因为这

《JavaScript专家编程》——9.3 为什么要度量代码质量

9.3 为什么要度量代码质量 "我不能为代码质量而索价."这是我问我的朋友关于这个问题的想法时,他的原话.他的意思是,代码质量主要是对程序员有利,而对客户来说是一种无形的税收.我能理解他的观点:我有几次经验,其中一个潜在客户将目光投向了我引以为傲的有关测试的方法论上.我的朋友接着说,"客户支付的是结果,而不是过程.当我买票到西南部,我付的钱是为了到达我的目的地,而不是为了乘坐飞机."这句话听起来好像有点道理,但我会在这一节讨论度量代码质量并不会让你失去竞争优势, 而

《JavaScript专家编程》——9.5 小结

9.5 小结 本章介绍了JavaScript代码质量的必要性及其原因.一个程序的质量往往会影响程序员维护.改进甚至是否有能力完全了解源代码.质量差的代码通常被称为技术债,剥夺了项目的时间和资源,而这些时间和资源用在其他地方能更好地发挥作用.然而,编程往往是一门跨越了艺术和科学之间的学科,这使得对质量的定义变的更为复杂.而且,质量又是从主观和客观上的双重度量. 有这样一种观点认为,一个人所在时代的文化,以及他们的个人经历都会对质量产生影响.这种观点将质量描述为具有"内在卓越"的东西,只有

《JavaScript专家编程》——1.2 对象概述

1.2 对象概述 JavaScript是由Brendan Eich创建的一种面向对象编程(OOP)语言,当时他还在Netscape公司工作,花了几周的开发时间就发布了.虽然JavaScript的名字中有个"Java",但它实际上跟Java语言没什么关系.在InfoWorld的一篇对Eich的采访稿中,他解释了JavaScript命名的由来: InfoWorld:据我所知,JavaScript开始的时候叫Mocha,后来改名叫LiveScript,在 Netscape和Sun合并以后才叫

《JavaScript专家编程》——1.3 小结

1.3 小结 对象是持有零个或多个属性的包. 对象的属性要么是基本类型,要么是复杂类型.对象可以持有它们自己的基本类型的拷贝,但仅能持有复杂类型的引用.出于这个原因,JavaScript的属性要么传引用,要么传值. 对象的属性可以有标记符,可以在修改对象时,控制对象的行为和能力. 对象可以通过以下三种方式之一创建. 使用字面量语法'{}'. 联合使用new运算符和构造函数,例如'new Foo()'. 使用内置的Object.create()函数. JavaScript是一种基于原型的语言,对象

《JavaScript专家编程》——第1章 对象和原型 1.1鸟瞰JavaScript

第1章 对象和原型 练习不会造就完美,只有使用最佳的方法来练习才能造就完美. --Vince Lombardi 对专家来说,把JavaScript的核心概念讲上3章似乎有点多,毕竟这些是语言最基本的组成部分.我的主张是,有的人虽然不能读写,但可以说话.就像有的开发人员对JavaScript的基本功能很熟悉,但对里面那些复杂的东西可能就没那么了解了. 本书的目标是像明灯一样照亮语言中那些晦涩的角落.里面包含的很多概念你可能已经试着学习过了,甚至可以假设你已经理解了.这里可以想象一下:你正降落到你大

JavaScript Dom编程:介绍学习书籍

JavaScript Dom编程 学习书籍选择 JavaScript Dom编程学习,很多朋友无疑对如何选择入门的书籍,比较头疼.或许也是他们一直畏惧,甚至放弃学习JavaScript的理由. 在JavaScript 方面,自己不是什么专家,也不是什么高手,但自己一路走来,JavaScript 从迷茫到认识,对于JavaScript 书籍的认识或许还有些借鉴价值. 入门推荐首选书籍:<JavaScript DOM 编程艺术 > 当初读了不下4遍,书内容简单,易学,上手快,编程思想严谨.好的入门