给定任意 Java 方法 m,m 的 CRAP 值如下式计算: CRAP(m) = comp(m)^2 * (1 - cov(m)/100)^3 + comp(m)
其中 comp(m) 是方法 m 的圈复杂性(cyclomatic complexity),cov(m) 自动测试(如 JUnit 测试,非人工 QA)达到的测试覆盖率。圈复杂性(cyclomatic complexity)是一个广泛使用的著名指标,它的取值等于方法中唯一决策(unique decisions)的数量加 1。测试覆盖率计算我们采用的是基本路径覆盖(basis path coverage)。
更多内容推荐
37|工具背后的工具:从代码覆盖率到模糊测试
什么样的代码才是高质量的代码?代码覆盖率一定是重要的指标之一。
2023-01-03
36|测试的艺术:依赖注入、表格测试与压力测试
这节课,我们一起来看几个在Go中进行代码测试的核心技术:单元测试、压力测试与基准测试。它们共同保证了代码的准确性、可靠性与高效性。
2022-12-31
如何用 Java 判断一个给定的数是不是素数
有关素数的定义:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。
2021-09-24
数据结构和算法难?盘他!- 快速入门
数据结构和算法学起来还是很上头的,本文旨在介绍数据结构和算法的关系(你中有我我中有你,缺一不可),以及通过小例子对算法的空间复杂度和时间复杂度的计算进行介绍和总结,通过比较时间复杂度和空间复杂度来判断什么是好的算法。
2021-04-11
【愚公系列】2022 年 7 月 Go 教学课程 007- 计算机进制和变量命名规范
进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的tally mark计数)。 对于任何一种进制---X进制,就表示每一位上的数运算时都是逢X进一位。 十进制是逢十进一,十
2022-07-08
Android 技术类校招面试题汇总:android 享学课堂 vip 课程下载
大家都知道算法的重要性,有过面试经历的人都知道,目前国内的大厂已经越来越效仿硅谷公司的做法,通过面试给定题编程,来考察应聘者数据结构和算法的扎实程度。
2021-10-26
80|怎样将已有算法改造成符合项目的特定算法?
2023-01-11
23|质量保证(下):测试金字塔与 React 单元测试
这节课,我们继续学习大中型React项目的质量保证。
2022-10-22
【LeetCode】单词长度的最大乘积 Java 题解
给定一个字符串数组 words,请计算当两个字符串 words[i] 和 words[j] 不包含相同字符时,它们长度的乘积的最大值。假设字符串中只包含英语的小写字母。如果没有不包含相同字符的一对字符串,返回 0。
2022-05-31
如何从 8 个维度全面比较机器学习算法?
当两种算法似乎都有效时,如何选择使用算法A,还是算法B?
【算法实践】| 一步步带你实现寻找最大公约数
在实现之前我们先来了解一下什么是最大公约数,以及我们常用的计算最大公约数的方法或者说数学方法。常见的有质因数分解法、短除法、辗转相除法、更相减损法。与最大公约数相对应的概念是最小公倍数,a,b的最小公倍数记为[a,b]。
2022-08-22
Go- 方法 -1
Go 语言方法的定义和使用
2021-09-04
Java 加密技术 (四) 非对称加密算法 RSA
这种算法1978年就出现了,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。
2022-09-06
7 种机器学习算法的 7 个要点
我们可能会忽略一些算法背后的关键概念或思想,而这些概念或思想对于这些算法的理解是必不可少的。
我的编程之路 -4(进阶)
「认真地看完一本书」是最有效进阶的方法。
2020-05-20
测试覆盖率:如何找出没有测试到的代码?
如何尽可能消除预期之外的行为,让代码尽在掌控之中呢?这一讲,我们就来讲讲如何查缺补漏,找到那些测试没有覆盖到的代码。
2021-08-23
07|TDD 中的测试(3):集成测试还是单元测试?
TDD中的测试并不是行业中所谓的“单元测试”,而是指能提供快速反馈的低成本的研发测试,也是针对不同粒度单元的功能测试。我们要从发现问题和定位问题的角度出发,去理解和思考每一个测试的功效。
2022-03-22
我们常说的算法时间复杂度和空间复杂度到底是什么?
针对某一类问题的解决,我们可能需要借助算法来实现,实现的手段也可能是各式各样的。虽然最终都解决了问题,但是各个解决手段,也就是算法还是存在优劣之分的。
2021-06-30
聊一聊利用 Dijkstra 求有向图的最短路径
我们都知道求最短路径有很多方法,比如Dijkstra算法、Bellman-Ford算法、Floyd-Warshall算法等等,这些算法各有优缺点,其中Floyd-Warshall算法时间复杂度较高,但是编码复杂度较小,而Bellman-Ford算法适用于处理有负权边的情况。至于本文要讲的Dijkstra算法
2021-10-23
《算法导论》.pdf
非形式地说,算法就是任何定义的计算过程,该过程取某个值或值的集合作为输入并产生某个值或值的集合作为输出。
2020-12-10
推荐阅读
19|Rust 的宏体系:为自己的项目写一个简单的声明宏
2023-12-01
86|再回首:“高级数据类型与算法”单元小结
2023-01-11
文心一言 VS 讯飞星火 VS chatgpt (24)-- 算法导论 4.2 6 题
2023-05-28
期末测试|来赴一场满分之约!
2023-02-22
网易云信回声消除量化评估方法
2023-08-10
Java | 内部类
2022-10-28
iOS 安全加固方法及实现
2023-10-27
电子书
大厂实战PPT下载
换一换 张忻正 | 哔哩哔哩 技术专家
宣泽彬 | 京东零售 前端技术专家、Taro 核心开发
揭光发 | 腾讯 智能创作与内容平台部技术专家
评论