|
|
1
4
事实上,正如我在问题中详述的那样
"What is the fascination with code metrics?"
, the
趋势
在任何指标(findbugs、crap、随便什么)中,都是指标的真正附加值。
像工具一样 Sonar 可以,在这个领域(监控度量)是非常有用的。 萨尔在评论中补充道:
因此,测试覆盖率非常重要,因为只有测试(单元测试,也就是更大的“功能测试”)才能给出有效的答案。
|
|
|
2
5
失败的UnitTests数必须小于或等于零:) |
|
3
5
根据您的具体目标,指标如下 cyclomatic complexity 可以提供成功的指标。最后,每一个指标都可以被颠覆,因为它们不能捕获智能和/或常识。 但是,一个健康的代码审查过程可能会产生奇迹。 |
|
|
4
2
代码大小。任何能在不破坏功能的情况下减少它的东西都是我书中的一个改进(当然,删除注释和缩短标识符也不算数) |
|
|
5
1
无论您做什么,只要确保这个度量标准不用于评估程序员的性能、决定提升或类似的任何事情。 |
|
|
6
1
我将远离度量重构成功的度量标准(除了单元测试失败==0)。相反,我会使用代码审查。 找到重构的明显目标并不需要很多工作:“我以前没见过完全相同的代码吗?”对于其余的,您应该围绕不应该做的事情创建一些指导原则,并确保您的开发人员了解它们。然后他们就可以找到其他开发人员不遵守标准的地方。 对于更高级别的重构,更高级的开发人员和架构师将需要根据代码库移动的位置来查看代码。例如,代码现在拥有静态结构可能是完全合理的;但是如果他们知道或怀疑需要更动态的结构,他们可能建议使用工厂方法而不是使用 新的 或者从类中提取接口,因为他们知道在下一个版本中将有另一个实现。 这些都不会从度量标准中受益。 |
|
|
7
1
是的,一些代码质量度量可以告诉您重构是否提高了代码的质量。
我已经使用并继续使用所有这些工具来监控我的软件项目的质量。 |
|
|
8
0
重构有两个结果。你希望团队保持可持续的步伐,你希望在生产中零缺陷。 重构发生在测试驱动开发(TDD)期间的代码和单元测试构建上。重构可以很小,并且可以在完成故事卡片所需的代码上完成。或者,重构可能很大,需要一个技术故事卡来解决技术债务。故事卡可以放在产品积压工作上,并与业务合作伙伴进行优先级排序。 此外,当您像编写TDD一样编写单元测试时,您将在开发代码时继续重构测试。 记住,在敏捷中,Scrum中定义的管理实践将为您提供协作,并确保您了解业务合作伙伴的需求,以及您开发的代码满足业务需求。然而,如果没有适当的工程实践(由极限编程定义),您的项目将失去可持续的步伐。许多不采用工程实践的敏捷项目需要救援。另一方面,一个训练有素、同时采用管理和工程敏捷实践的团队能够无限期地维持交付。 因此,如果您的代码发布时有许多缺陷,或者您的团队放松了速度、重构,以及其他工程实践(TDD、裁剪、自动化测试、简单的进化设计等),那么这些都没有被正确地使用。 |
|
|
9
0
我从嗅觉的角度看这个问题。气味可以作为质量问题的指示器,因此,识别出的气味实例的数量可以揭示软件代码的质量。 气味可以根据其粒度和潜在影响进行分类。例如,可能存在实现气味、设计气味和架构气味。您需要在重构之前和之后识别所有粒度级别的气味,以显示重构操作的收益。事实上,重构可以通过识别出的气味来指导。 实例: |