2010-05-15 49 views
3

快速搜索但找不到任何关于此的内容。Visual Studio代码分析 - Microsoft是否自己遵循它?

我想大家都知道Visual Studio Code Analysis是相当挑剔的,并给出了很多事情的警告。有谁知道微软如何跟得上它自己..?也就是说,如果我要在他们的程序集上运行代码分析,那么这些警告是没有的还是很少的(可能会以合理的方式来警告警告?)。

+0

你为什么问.....? – 2010-05-15 10:20:27

+0

@Mitch出于好奇。有时候这么多的警告可能不合理。想知道他们在所有情况下是否遵循了自己的标准和最佳实践。 – 2010-05-15 10:23:30

回答

6

代码分析(或FXCop)检查的大部分内容都基于“.NET Framework库设计指南”(bookMSDN)。

但是,这些指导方针(特别是在书中)有警告,并非都适用于所有情况。

MS有很多迹象表明MS使用这些工具,但我认为他们确实有理由不像其他项目一样应用所有规则。

+0

忘了那本书。有趣的阅​​读。 – Finglas 2010-05-15 10:43:09

+0

FXCop不是微软唯一的代码分析工具。曾听说过PreFix和PreFast? – 2010-07-15 22:43:50

+0

@bitcrazed:IIRC他们是为本地代码。这个问题被标记为[.net]。 VS代码分析专门将FXCop集成到VS. – Richard 2010-07-16 08:23:02

4

微软有两个核心工具用于代码分析:FXCop用于托管代码,PreFast用于本机C++。

从历史上看,尽管并非所有团队在构建产品时都彻底实施了CA的使用,但在过去的3 - 4年里,这一数字显着上升,特别是现在对他们的CA有严格要求的团队功能团队和整个产品。

例如,在Vista中,Windows团队基本上需要3个月的时间才能完成产品开发,并且SAL注释了绝大多数关键方法和函数声明。在Win7中,他们强制要求所有新代码都必须符合SAL注释关键方案的一组要求(主要是为了减少缓冲区溢出的可能性)。在Win8中,他们正在进一步研究并正在为许多关键场景合并新的SAL注释。结合改进的编译器和PreFast等工具(现在可以构建到VS 2010 Pro中),他们和您可以在产品发布前找到并消除潜在的问题。

请注意,CA提出的警告问题(无论您选择使用哪种CA工具)总是需要覆盖 - 有时候,为什么代码必须执行它的功能有一个非常好的理由。但是,如果绝对肯定这是必要的和适当的,那么你只应该重写。切勿关闭警告,因为您无法理解,并且如果您不能解决问题,请不要关闭警告。

相关问题