Tag: 命名约定

财产命名惯例

哪一个更好或更清楚? public int FrozenRegionWidth { get; set; } 要么… public int WidthOfFrozenRegion { get; set; }

控制器动作命名约定

正如命名约定所说,WebApi控制器动作名称应为Get(),Put()。 Post()等。但是告诉我,如果我有一个控制器作为CustomerController ,现在我想在其中有两个动作。 一个是GetCustomerById(int id) ,另一个是GetCustomerByAge(int age) 。 这两个动作都接受一个参数作为int。 所以,如果我想让url用户友好,比如“api / customer /”,我也想遵循命令约定,比如Get(int id)/ Get(int age) ,我该怎么做?

“iPhone”的Resharper命名exception

是否可以为特定单词的Resharper命名约定添加例外? 特别是,我希望能够创建一个枚举值“iPhone”,即使我通常更喜欢PascalCase的枚举值。 我检查了Resharper的命名样式文档 ,但没有看到任何添加自定义exception的方法。 我也尝试使用自定义缩写列表,但这仅适用于所有大写字母。

如何最好地命名字段和属性

微软表示,字段和属性必须不仅仅是大小写。 那么,如果他们真正代表同一个想法,他们应该如何区别? 这是微软不做的例子: using System; namespace NamingLibrary { public class Foo // IdentifiersShouldDifferByMoreThanCase { protected string bar; public string Bar { get { return bar; } } } } 他们没有给出如何看待它的指导。 大多数开发人员做了什么?

miscfunction的静态类的理想类名

什么是我的静态类的理想类名,它有一些静态方法来处理常规/常用function,如果需要备份,在C#中保存最近的项目etxc ..(Infact Misc items)。 我想将Manager作为类名的后缀(例如:SaleManager(处理销售相关function),ContatManager(处理联系人相关function)

我应该使用与.NET BCL名称冲突的(否则是最佳的)类名吗?

这种情况对于你们中的一些人来说可能并不完全不常见:你有一些function要放在一个类中,但是该类的完美名称(*)是由System命名空间中的一个类或其他不属于你的命名空间/类所占用的。但你正在using / import 。 (*) 完美我的意思是小巧,简洁和清晰的名字。 例如,我有一个Utils类,它有一个Diagnostics (主要是debug utils)类和一个Drawing类。 我可以: 有一个DrawingUtils类和一个DiagnosticsUtils类,但它只是闻起来像坏结构。 选择一个词库并完成一个更糟糕,更长或更尴尬的名字,这个名字随便还没有被拿走。 用我的母语而不是英语写下课程名称。 向StackOverflow的聪明人询问。 我认为选项1-3并不乐观:( 编辑: 由于我选择的答案并没有明确地解决问题(我也不这样做),我建议那些面临同样情况的人要问自己:你会经常使用冲突的BCL类/命名空间吗? 如果不是,那么让你的名字发生冲突(就像我在诊断中所做的那样)。 如果是,请添加一个限制类/命名空间可能性的单词。 在实践中,这意味着: “Drawing” :吸引人的东西。 “MyCustomControlDrawing” : 仅在MyCustomControl上绘制的东西。 例如: “WidgetDrawing” 。 EDIT2: 下一次看看的另一个解决方案: 扩展方法 ( Lawmower提供 )。

使用私有自动属性而不是编程标准的简单变量

在与同行的讨论中,提出我们应该考虑对所有类级变量使用自动属性…包括私有变量。 所以除了像这样的公共财产: public int MyProperty1 { get; set; } 我们的私有类级变量如下所示: private int MyProperty2 { get; set; } 代替: private int _myProperty2; 关于为什么有人会想要这样做但我无法决定我是否愿意接受这一点是因为我自己内部洗脑以及如何将我的代码写入相同的编程标准和命名惯例使用了10年,或者因为我以前从未见过(因为某种原因)。 我知道这是额外的代码输入,但说实话,当使用自动属性时,我认为我没有输入它,因为’prop’和’propg’片段因此设置起来非常简单一个新的代码片段来创建一个私有的自动属性,所以额外的代码不会打扰我太多,因为我从来没有打字。 除了美学可能只是我的潜意识,使用完全私人汽车财产可能会导致任何问题吗? 这样做有没有充分的理由呢? 我今天在stackoverflow,codeplex,codeproject等上看到了很多代码,我从未见过有人使用过这个标准….有原因吗?

什么是类型参数命名准则?

我注意到,除了在Essential C#3.0书中看到,参数通常被定义为T或TEntity 例如: public class Stack { } 要么 public class EntityCollection { } 你如何决定使用哪个名字? 谢谢

注册到事件的命名方法

假设我有一个暴露以下事件的类: public event EventHandler Closing 应该如何命名注册到此事件的方法? 您是否更喜欢遵循Visual Studio在为其生成的方法指定名称时使用的约定(又名。+ =,Tab,Tab)? 例如: private void TheClass_Closing( object sender, EventArgs e ) 或者您使用自己的风格来命名这些方法? 我已经尝试了不同的方法来命名这些方法(如TheClassClosing , HandleClosing等)。 但我没有找到一个好的风格来表明方法的意图是处理已注册的事件。 我个人不喜欢Visual Studio用来生成方法名称的样式(下划线)。 我知道注册的事件处理方法总是私有的,并且没有像引发事件的方法那样的命名约定(例如, OnClosing )。

C#代表,参考解析时间

我有一个关于.net委托的简单问题。 说我有这样的事情: public void Invoke(Action action) { Invoke(() => action(this.Value)); } public void Invoke(Action action) { m_TaskQueue.Enqueue(action); } 第一个函数包含对this.Value的引用。 在运行时,当第一个带有generics参数的方法被调用时,它会以某种方式提供this.Value到第二个,但是如何? 我想到了这些: 按值调用(struct) – 传递this.Value的当前值,因此如果m_TaskQueue在5分钟后执行它,则该值将不会处于其最近状态,它将是第一次引用时的值。 通过引用调用(引用类型) – 然后在执行操作期间引用最近的Value状态,但如果我在执行操作之前将this.Value更改为另一个引用,它仍将指向旧引用 按名称调用(两者) – 在this.Value将评估this.Value 。 我相信实际的实现将持有this的引用,然后在实际执行委托期间评估该Value ,因为没有按名称调用。 我认为这将是名称样式的调用,但无法找到任何文档,所以想知道它是否是一个明确定义的行为。 这个类类似于Scala或Erlang中的Actor,所以我需要它是线程安全的。 我不希望Invoke函数立即取消引用Value ,这将通过m_TaskQueue在this对象的安全线程中m_TaskQueue 。