Tag: coding style

任何引用/ MSDN教程显示支持“if(!condition)”或“if(condition == false)”?

对于那些误读了这个问题的人:让我们假装我们在维基百科上 。 我不是在寻找“正确的方法”,我正在寻找可validation的参考资料以支持任何一方。 (请读到最后) 上下文 在对另一个主题的评论中,一个人说他的朋友会乞求我对是否的意见不一致 if (!condition) 要么 if (condition == false) 在C#中是首选。 尽管我确信我知道如何做正确的事情,但我无法找到任何证据,无论是C#编码还是设计指南,我的观点都是正式的。 问题 除了常识之外,还有什么实质性的东西可以支持任何一方吗? ( 广受赞誉的书中的一个段落或在microsoft.com上托管的任何文档, 使用或规定任何一种风格都会回答问题 )

C#StyleCop – 对于像当前类成员这样的基类成员使用“this。”前缀?

StyleCop有一个关于使用“this”的规则。 调用类成员的前缀(SA1101)。 这个规则是否适用于从其基类inheritance的类的成员(例如方法)。 例: class BaseClass { protected void F1() { … } } class ChildClass : BaseClass { protected void F2() { … } protected void F3() { this.F2(); // This is correct acording to SA1101 // F1 is a member of base class and if I dont put this prefix, stylecop will not […]

FxCop死了吗? 可以和VS2015一起使用吗?

我正在浏览Stack Overflow和Google,了解有关自动编码风格练习工具的信息,并找到了FxCop。 但是我没有找到微软最近关于FxCop的文章。 所以,我想知道FxCop是否已经死了。 FxCop可以与Visual Studio 2015一起使用吗? 它是否适用于执行C#设计指南?

ReSharper C#为私有方法和属性命名样式

我喜欢将私有方法,属性和事件的第一个字母小写,公共方法,属性和事件的第一个字母大写。 但是,在ReSharper 7.1中,C#命名样式下只有一个选项适用于所有方法,属性和事件。 告诉ReSharper仅使用不同的私有约定的最佳方法是什么?

布尔类型

在代码审查期间,我发现我们的C#代码的许多地方看起来像这样: if(IsValid()) { return true; } else { return false; } 甚至“更好”: return (IsValid()? true : false); 我总是想知道为什么不写这样的代码: return IsValid(); 这是我编写此代码的方式。 我不是在质疑开发人员的技能,但可能试图调查开发人员的灵魂。 为什么开发人员喜欢更复杂的代码而不是更简单直观? 或许原因是很难接受布尔类型作为一等公民?

是否可以捕捉exception并且什么都不做?

try { CallMethod() } catch { } 根据我的经验,我通常不会这样做。 但是,如果我有一个function,说,使用第三方COM组件偶尔会失败,它实际上不够重要,因为我会在几秒钟内再次调用它,是否可以这样做? 如果没有,我还有什么选择?

构造函数链的目的是什么?

在阅读了这个构造函数链接问题后,我只是想知道为什么会有人进行构造函数链接? 有人可以对可能有用的情景类型有所了解。 这是一个很好的编程习惯吗?

关于使用块返回的最佳实践

哪种方式更好的做法:从using语句中的方法返回一个值或者之前声明一个变量,将其设置在内部并在之后返回? public int Foo() { using(..) { return bar; } } 要么 public int Foo() { var b = null; using(..) { b = bar; } return b; }

C#可选参数或方法重载?

由于C#添加了可选参数,因此使用可选参数或方法重载被认为是更好的做法,或者是否存在您希望使用其中一个的特定情况。 即具有许多参数的函数更适合w /可选参数?

在C#中返回两个列表的最佳方法是什么?

我几乎不好意思问这个问题,但作为很长一段时间的C程序员,我觉得也许我不知道在C#中做到这一点的最好方法。 我有一个成员函数,我需要返回两个自定义类型List ( List ),我事先知道我将始终只返回其中两个列表的返回值。 显而易见的选择是: public List<List> ReturnTwoLists(); 要么 public void ReturnTwoLists(ref List listOne, ref List listTwo); 两者似乎都不是最优的。 有关如何改进这方面的任何建议? 第一种方法没有在语法中明确表示只返回2个列表,第二种方法使用引用而不是返回值,这看起来非c#。