2014-02-14 36 views
0

我使用TFS要求开发人员通过签入策略使用代码分析。如果发生任何错误,他们不能检查他们的代码。要求证明有关抑制错误

然而,他们可以压制信息并仍然登记。当他们这样做时,我想要求他们为他们的行为提供理由。这可以留空。

有什么方法可以强制执行此操作并且不允许将理由留空吗?

+1

“他们”总是做坏事。要么成为他们的一部分,并改为“我们从不检查糟糕的代码”或用棍子击败他们,直到“他们”很高兴......不太清楚你的帖子的哪部分与代码有关 - 更改总是在源代码控制,所以当有人被骗时显然是清楚的。那么为什么不假定开发者不会欺骗并且完成它呢? –

+0

我从来没有说过“他们”我们做坏事。我只是暗示程序员可能是懒惰的,并且要求他们填写一个简单的评论来解释拒绝的原因,之后我可以检查他们为什么要抑制这些错误。如果我允许他们压制这个错误,甚至显示这些错误的意义何在?我想获得某种“正确”的代码,这些代码可以通过代码分析自动执行。但是,如果他们再次抑制显示的错误,我想知道为什么。所以请,你知道任何方式来配置? – Matthijs

回答

0

你可以添加自定义代码分析规则,以检查丢失或空的理由。有一个例子,在http://www.binarycoder.net/fxcop/html/ex_specifysuppressmessagejustification.html

+1

然后可以抑制哪些因此它不会搜索其他理由? – Matthijs

+0

是的,但只有一个理由。 ;)更为严肃的一点是,如果你关心理由,他们应该包含在手工代码评论中,所以像这样的规则实际上只是一个非常明显的问题的过滤器。 –

+0

不,没有理由,因为你可以抑制新实施的Justificationrule,从而使SuppressMessages不再有一个理由。像这样的规则是过时的,因为这会带来与所有其他代码分析错误相同的问题;他们可以被压制,导致他们被跳过。 – Matthijs

0

为什么不设置构建服务器并使用gated签入。然后将构建定义设置为始终运行代码分析。如果代码分析失败,那么构建会失败(如果这是在我们的项目中设置的),并且在修复代码分析之前不会发生签入,这会导致构建失败。

+0

如前所述,您可以禁止这些错误,允许程序构建并跳过您已禁止的错误。所以这真的不是一种选择,因为我已经通过TFS强制执行了代码分析。 – Matthijs