代码分析回来与建议,关于不使用“出”参数(Code analysis comes back with

2019-08-04 18:04发布

我撞上了我创建的对象的VS 2008的代码分析工具,并收到了以下建议...

警告147 CA1021:Microsoft.Design:考虑到不需要“的returnValue”是一个输出参数的设计。

我觉得“走出去”的参数相当有用,并没有意识到,他们被认为是在设计实践皱起了眉头。 我想知道如果有人能在我收到这一警告的原因提供一些线索? 如果是不好的做法? 为什么? 而这将是很好的做法?

我明白任何建议。

Answer 1:

每个代码分析警告有关联,您可以通过highligting警告,按F1键访问文档。 该项目也可以右键单击得到帮助。

在任何情况下,这里的解释是特定的警告文件 。

我要说的是,也有少数情况下,输出参数仍然是一个不错的选择 - 尤其是当它涉及到的TryParse编码成语,因为它是做事情的这样一种行之有效的方式,大多数人都应该明白

在一般的使用,但是,也有多个返回值的更好,更多的面向对象的解决方案。



Answer 2:

有一次,我跑我自己对我的项目代码分析。 此外,我没有得到很多有见地的建议,我非常简要地把这个关。 许多建议是宗教性质的,你能做到这样还是其他,风格问题,而不是一个坏的做法。

你的情况。 如果你只有一个返回参数,然后将其返回该功能的。

如果您也有占回报的地方返回代码,可以考虑使用异常,通知操作错误的调用者的代码。

如果你有很多参数,返回密切相关的对方,使一个类/结构,以保持在一起,并返回它作为一个包。



Answer 3:

许多代码分析警告,在我看来是有关编写第三方将使用API​​代码。 您与“出”参数的规则是一个经典案例:不使用它们是因为很多其他的程序员不会知道他们的部分原因。

如果他们不匹配你在写什么,然后关闭不适合你的代码分析规则。 我个人倾向于,因为它们是不相关的,我写的代码的类型关掉命名,可移植性和互操作性的规则。



Answer 4:

我在我的大多数项目的把这个特定的警告了。 因为,我知道,当我使用的输出参数,我有一个很好的理由这样做,因为我尽量完全避免它们。

我能想象,虽然,与上一个项目多人工作时,你可能希望有此警告打开,如果你想要做一些代码审查...



文章来源: Code analysis comes back with suggestion about not using “out” parameters