我正在查看除代码行之外的一些代码长度指标. Source Monitor报告的内容是语句.这似乎是一件值得知道的事情,但Source Monitor计算某些东西的方式似乎不直观.例如,for语句是一个语句,即使它包含变量定义,条件和增量语句.如果方法调用嵌套在另一个方法的参数列表中,则整个事物被认为是一个语句.
是否有一种标准的方式来计算陈述,并且是他们管理这种事情的规则?
解决方法:
你最接近“什么是陈述”的正式定义将是C# specification本身.祝你好运,确定特定工具的测量是否与您对规范的阅读一致.
鉴于指标最好用作更好/更差代码的指南,而不是严格的公式,该工具使用的确切定义是否会产生很大差异?
如果我有三种方法,“语句长度”为2500,1500和150,我知道我将首先检查哪种方法;另一个工具可能报告2480,1620和174并不太重要.
我见过的测量指标的最佳工具之一是NDepend,但我再也不能100%确定它使用的是什么定义.根据该网站,NDepend has 82 separate metrics,包括Number of instructions和Cyclomatic Complexity.