我需要知道静态代码分析和代码质量是否相同,因为我需要找到代码质量的工具,每次我搜索它时,我都会得到与静态代码分析相关的工具的响应。
发布于 2016-03-15 08:28:05
“代码质量”是一个指标,它告诉您“代码有多好”,例如。它是多么容易理解和可维护。问题是,这是一个如此模糊的术语,以至于没有人同意这个度量标准到底意味着什么,以及它应该如何衡量。见这里。
对于许多程序员来说,代码质量是非常主观的术语,对于一个人来说,什么是好代码,对另一个程序员来说,什么是糟糕的代码。
现在,如果将“代码质量”定义为“代码中未固定问题的数量”,则静态代码分析工具可以度量代码质量。这几乎是静态代码分析工具给您的度量。许多人(我也是)会争辩说,这并不是“代码质量”应该涉及的所有内容。但是它有两个主要的优点:它可以被量化(并随着时间的推移进行比较),并且可以不用花费太多的精力就可以自动完成(除了在构建过程中设置它和占用CPU周期之外)。
因此,虽然静态代码分析并不是代码质量的全部,但它是一个良好的开端。
发布于 2016-03-15 08:28:46
静态代码分析()是一种帮助识别被分析代码质量可能受到损害的领域的技术。请注意“可能”,因为在许多情况下,静态代码分析工具提供的点是好的、错误的(这些东西很好,但是对工具来说很可疑,它会告诉您关于它们的情况)。这并不是唯一这样的技术,它也不一定是最好的。
然而,代码质量并不是一种技术或工具,它是代码的一个特征,也不一定是一个客观的特性。然而,在谈到代码质量时,经常会提到几点(免责声明:列表并不详尽,不同的点之间可能有重叠):
静态代码分析工具通常有助于提高正确性(通过识别代码中可能犯了一些不太明显的错误)、安全性和可维护性,但无法告诉您很多关于完整性的信息。即使这样,他们也不是完美的,也不会告诉你你在这些领域所需要做的一切。还有许多其他技术和工具可以帮助实现所有这些,甚至是我没有提到的其他代码质量领域(自动化测试和代码评审是两个流行的例子,但还有更多的例子)。
发布于 2016-03-15 07:42:17
静态代码分析最好由软件(编译器、linter或其他什么)来执行,而代码质量最好由同行评审来保证。静态分析可以确保的质量仅是您希望代码具有的质量的一小部分。
TDD和BDD还可以提高QA中的自动化程度,但它们仍然不能取代第二双眼睛。
https://softwareengineering.stackexchange.com/questions/312770
复制相似问题