协助 fxcop

Posted

技术标签:

【中文标题】协助 fxcop【英文标题】:assistance with fxcop 【发布时间】:2012-11-13 00:21:02 【问题描述】:

我目前正在开发一个与一组 wcf 服务通信的 mvc4 项目。我正在为一组开发人员在 tfs build 中设置此类。

总的来说,我是 fxcop 和代码分析的新手。我目前正在研究它,并对此有一些疑问:

是否推荐使用fxcop自带的规则? 是否应该在构建期间将其作为构建任务包含在内? 它有什么价值? 是否有关于遵守哪些规则的指南,或者最好使用默认规则? 将分析作为构建后事件运行是否正确?

我是 fxcop 的新手,希望得到一些反馈。我正在将 stylecop 集成到我的构建中。

【问题讨论】:

【参考方案1】:

看看这篇 haacked 博客文章:http://haacked.com/archive/2012/07/05/turkish-i-problem-and-why-you-should-care.aspx。

我认为它回答了您的大部分问题。一些指针是:

是否推荐使用fxcop自带的规则?

对于一个新项目,我会启用所有规则,并随着时间的推移禁用那些让你分心的规则。对于现有项目,我会启用最少的规则,并随着时间的推移慢慢添加新规则并根据需要清理代码。

代码分析规则为:

Design Warnings Globalization Warnings Interoperability Warnings Maintainability Warnings Mobility Warnings Naming Warnings Performance Warnings Portability Warnings Reliability Warnings Security Warnings Usage Warnings

是否应该在构建期间将其作为构建任务包含在内?

是的。这是我使用的方法:http://kentb.blogspot.co.nz/2011_01_01_archive.html

如果您的 IDE 支持,它可以通过 UI 启用。但是,当不同的项目使用不同的规则集时(例如,单元测试项目可能更宽松),我遇到了问题。 kentb 博客中的程序解决了这个问题。

或者,您可以直接从构建后事件调用 FxCop。

它有什么价值?

结构良好的代码并减少生产问题。

是否有关于要遵守哪些规则的指南,或者最好使用默认规则?

再一次 - 选择适合你的任何东西。例如,您可能不在乎二进制文件不是强命名的。被黑客攻击的博文有一些很好的指导。

将分析作为构建后事件运行是否正确?

如果您关注 kentb 的博客文章,或通过 IDE GUI 启用它(假设您的 IDE 支持它),那么它将作为构建过程的一部分运行。如果您直接调用 FxCop,则需要将其作为构建后事件来完成。

【讨论】:

优秀的反馈,从中学到了很多东西。我正在开发一个支持不同/文化和语言的应用程序,所以这对我来说非常重要。

以上是关于协助 fxcop的主要内容,如果未能解决你的问题,请参考以下文章

win10qq无法远程协助怎么办

请问,在QQ远程协助对方时,怎么能看见对方的鼠标?非常感谢!

设置Windows 远程协助与远程桌面

Ping32远程协助使用教程

中继协助频谱切换基于中继协助的频谱切换机制的MATLAB仿真

远程协助与远程桌面有啥不同?