命名类操作的约定?
您使用什么约定来命名类操作?
What conventions do you use for naming class operations?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
您使用什么约定来命名类操作?
What conventions do you use for naming class operations?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
完整文档:下载 C# 编码标准和标准最佳实践
命名约定和标准
注意:
本文档中使用术语 Pascal Casing 和 Camel Casing。
帕斯卡大小写 - 所有单词的第一个字符均为大写,其他字符均为小写。
示例:背景颜色
Camel Casing - 所有单词的第一个字符,除了第一个单词是大写,其他字符都是小写。
示例:backColor
对类名使用 Pascal 大小写
公共课HelloWorld
{
...
}
方法名称使用 Pascal 大小写
void SayHello(字符串名称)
{
...
void
变量和方法参数使用驼峰式大小写
int 总数 = 0;
void SayHello(字符串名称)
{
字符串 fullMessage = "你好" + 姓名;
...
}
在接口中使用前缀“I”和驼峰式命名法(示例:IEntity)
不要使用匈牙利表示法来命名变量。
早期,大多数程序员都喜欢它 - 将数据类型作为变量名的前缀,并使用 m_ 作为成员变量的前缀。例如:
字符串m_sName;
int nAge;
但是,在 .NET 编码标准中,不建议这样做。不应使用数据类型和 m_ 来表示成员变量。所有变量都应使用驼峰式大小写。
一些程序员仍然喜欢使用前缀 m_ 来表示成员变量,因为没有其他简单的方法来标识成员变量。
好:
不好:
。这种情况下的一个例外是用于循环中迭代的变量:
如果该变量仅用作计数器尽管迭代并且不在循环中的其他任何地方使用,但许多人仍然喜欢使用单个 char 变量 (i),而不是发明一个不同的合适名称。
局部变量名请勿使用下划线 (_)。
所有成员变量都必须带有下划线(_)前缀,以便与其他局部变量识别。
不要使用类似于关键字的变量名称。
为布尔变量、属性和方法添加“is”或类似前缀。
例如: private bool _isFinished
...
这里推荐两种不同的方法。
一个。对所有 UI 元素使用通用前缀 ( ui_ )。这将帮助您将所有 UI 元素组合在一起,并轻松从智能感知中访问所有这些元素。
b.为每个 ui 元素使用适当的前缀。下面给出了一个简短的列表。由于 .NET 提供了多个控件,因此您可能必须为您正在使用的每个控件(包括第三方控件)获取标准前缀的完整列表。
例如,对于 HelloWorld 类,文件名应为 helloworld.cs(或 helloworld.vb)
使用 Pascal Case 命名文件名。
缩进和间距
使用TAB 进行缩进。不要使用空格。将制表符大小定义为 4。
注释应与代码处于同一级别(使用相同的缩进级别)。
好:
不好:
大括号 ( {} ) 应与大括号外的代码处于同一级别。
使用一个空行来分隔逻辑代码组。
好:
不好:
类中的每个方法之间应该有且只有一个空行。
大括号应该在单独的行上,而不是在同一行,如 if、for 等。
好:
不好:
好:
不好:
使用#region 将相关的代码片段分组在一起。如果您使用 #region 进行正确的分组,那么当所有定义都折叠时,页面应该像这样。
将私有成员变量、属性和方法保留在文件顶部,将公共成员保留在底部。
Full word doc : Download C# Coding Standards & Best Practices
Naming Conventions and Standards
Note :
The terms Pascal Casing and Camel Casing are used throughout this document.
Pascal Casing - First character of all words are Upper Case and other characters are lower case.
Example: BackColor
Camel Casing - First character of all words, except the first word are Upper Case and other characters are lower case.
Example: backColor
Use Pascal casing for Class names
public class HelloWorld
{
...
}
Use Pascal casing for Method names
void SayHello(string name)
{
...
}
Use Camel casing for variables and method parameters
int totalCount = 0;
void SayHello(string name)
{
string fullMessage = "Hello " + name;
...
}
Use the prefix “I” with Camel Casing for interfaces ( Example: IEntity )
Do not use Hungarian notation to name variables.
In earlier days most of the programmers liked it - having the data type as a prefix for the variable name and using m_ as prefix for member variables. Eg:
string m_sName;
int nAge;
However, in .NET coding standards, this is not recommended. Usage of data type and m_ to represent member variables should not be used. All variables should use camel casing.
Some programmers still prefer to use the prefix m_ to represent member variables, since there is no other easy way to identify a member variable.
Good:
Not Good:
One exception in this case would be variables used for iterations in loops:
If the variable is used only as a counter for iteration and is not used anywhere else in the loop, many people still like to use a single char variable (i) instead of inventing a different suitable name.
Do not use underscores (_) for local variable names.
All member variables must be prefixed with underscore (_) so that they can be identified from other local variables.
Do not use variable names that resemble keywords.
Prefix boolean variables, properties and methods with “is” or similar prefixes.
Ex: private bool _isFinished
...
There are 2 different approaches recommended here.
a. Use a common prefix ( ui_ ) for all UI elements. This will help you group all of the UI elements together and easy to access all of them from the intellisense.
b. Use appropriate prefix for each of the ui element. A brief list is given below. Since .NET has given several controls, you may have to arrive at a complete list of standard prefixes for each of the controls (including third party controls) you are using.
For example, for the class HelloWorld, the file name should be helloworld.cs (or, helloworld.vb)
Use Pascal Case for file names.
Indentation and Spacing
Use TAB for indentation. Do not use SPACES. Define the Tab size as 4.
Comments should be in the same level as the code (use the same level of indentation).
Good:
Not Good:
Curly braces ( {} ) should be in the same level as the code outside the braces.
Use one blank line to separate logical groups of code.
Good:
Not Good:
There should be one and only one single blank line between each method inside the class.
The curly braces should be on a separate line and not in the same line as if, for etc.
Good:
Not Good:
Good:
Not Good:
Use #region to group related pieces of code together. If you use proper grouping using #region, the page should like this when all definitions are collapsed.
Keep private member variables, properties and methods in the top of the file and public members in the bottom.
我发现使用您正在使用的语言和框架所使用的相同命名约定可以让每个人的生活变得更轻松。
例如,.Net 有一个 约定。对你的语言的功能进行建模,你的代码和库的“用户”会更高兴。所以,答案可能是,这取决于您的语言和/或平台......
I find it makes everyone's life easier to use the same naming conventions used by the language and framework you are working in.
For example, .Net has a convention. Model what your language does, and the "users" of your code and libraries will be happier. So, the answer may be, it depends on your language and / or platform...
命名约定是一个有争议的话题,因为它是一种任意的区别。
上面两个答案都很好。我的补充是:
你的目标是可读性。你的代码讲述了一个故事,尽管有时有点无聊。确保故事清晰。
如需更多乐趣,请参阅以下链接:
http://www.joelonsoftware.com/articles/Wrong.html< /a>
http://en.wikipedia.org/wiki/Naming_convention_%28programming%29< /a>
Naming conventions are a controversial topic, because it's an arbitrary distinction.
The two answers above are good ones. My addition is this:
Your goal is readability. Your code tells a story, albeit a sometimes kind of boring one. Make sure the story is clear.
For extra fun see these links:
http://www.joelonsoftware.com/articles/Wrong.html
http://en.wikipedia.org/wiki/Naming_convention_%28programming%29