问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C# 中的类名 命名规范

发布网友 发布时间:2022-04-20 07:57

我来回答

4个回答

热心网友 时间:2022-04-10 17:00

1.实义命名
类型、变量、常量、方法等标识符一律采用对应的英文实义;如果涉及到两个独立的实义单词,则中间用下划线间隔或者单词首字母大写(两种方式都可以);如果标识符的长度超过了30个字母,则基本上以英文单词发音的重读音节取选出三个字母,如Repeater用rpt,Management用 mgt.
(1)大小写规则
目前一般有两种大小写规则:
Pascal大小写形式,所有单词第一个字母大写,其他字母小写.
Camel大小写形式,除了第一个单词,所有单词第一个字母大写,其他字母小写.
a)类名使用Pascal大小写形式
public class HelloWorld(或者Hello_World,以下同,不再赘述)
{
...
}

b)方法使用Pascal大小写形式
public class HelloWorld()
{
void SayHello(string name)
{
...
}
}

c)变量和方法参数使用Camel 大小写形式
public class HelloWorld() { int totalCount = 0; void SayHello(string name) { string fullMessage = "Hello " + name; ... } }

(2)不要使用匈牙利方法来命名变量
以前,多数程序员喜欢把数据类型作为变量名的前缀而m_作为成员变量的前缀.例如: string m_sName;int nAge;
然而,这种方式在.NET编码规范中是不推荐的.所有变量都用Camel 大小写形式,而不是用数据类型和m_来作前缀.
用name,address,salary等代替nam,addr,sal.
别使用单个字母的变量象i,n,x 等.使用 index,temp等.用于循环迭代的变量例外:
如果变量只用于迭代计数,没有在循环的其他地方出现,允许用单个字母的变量命名,而不是另外取实义名.
文件名要和类名匹配,例如,对于类HelloWorld,相应的文件名应为helloworld.cs.
2.缩进和间隔
缩进用TAB,不用 SPACES.
注释需和代码对齐.遵循VS2005的自动对齐规则,不要人为的调整.
用一个空行来分开代码的逻辑分组.
在一个类中,各个方法的实现体必须用空行间隔,大括弧“{}”需独立一行.
在每个运算符和括号的前后都空一格.如:
If ( showResult == true ) { for ( int i = 0; i < 10; i++ ) { // } }

而不是:
if(showResult==true) { for(int i= 0;i<10;i++) { // } }

3.良好的编程习惯
避免使用大文件.如果一个文件里的代码超过300~400行,必须考虑将代码分开到不同类中.
避免写太长的方法.一个典型的方法代码在1~30行之间.如果一个方法发代码超过30行,应该考虑将其分解为不同的方法.
方法名需能看出它作什么.别使用会引起误解的名字.如果名字一目了然,就无需用文档来解释方法的功能了.
一个方法只完成一个任务.不要把多个任务组合到一个方法中,即使那些任务非常小.
使用C# 的特有类型,而不是System命名空间中定义的别名类型.如:
string name;
object contactInfo;
而不是:
Int16 age; String name; Object contactInfo;

这么做是基于如下两点原因:
(1) 规范性和一致性;
(2) 便于跨语言平台的移植.
别在程序中使用固定数值,用常量代替.别用字符串常数,尽量用资源文件.
避免使用很多成员变量,声明局部变量,并传递给方法.
不要在方法间共享成员变量,如果在几个方法间共享一个成员变量,那就很难知道是哪个方法在什么时候修改了它的值.必要时使用enum,别用数字或字符串来指示离散值.
别把成员变量声明为 public或 protected.都声明为private 而使用 public/protected 的Properties.
不在代码中使用具体的路径和驱动器名,使用相对路径,并使路径可编程.永远别设想你的代码是在"C:"盘运行.你不会知道,一些用户在网络 或"Z:"盘运行程序.
应用程序启动时作些“自检”并确保所需文件和附件在指定的位置.必要时检查数据库连接,出现任何问题给用户一个友好的提示.
如果需要的配置文件找不到,应用程序需能自己创建使用默认值.如果在配置文件中发现错误值,应用程序要抛出错误,给出提示消息告诉用户正确值.错误消息需能帮助用户解决问题.
4. 注释
别每行代码,每个声明的变量都做注释.在需要的地方注释.
可读性强的代码需要很少的注释,如果所有的变量和方法的命名都很有意义,会使代码可读性很强并无需太多注释.行数不多的注释会使代码看起来优雅.
如果因为某种原因使用了复杂艰涩的原理,必须为程序配备良好的文档和详细的注释.
对注释做拼写检查,保证语法和标点符号的正确使用.

热心网友 时间:2022-04-10 18:18

规定上,除了第一个字符不能是数字外,没有特别的要求。
但是作为一个好的程序员,应当有自己的良好的习惯。
比如首字母大写,尽量用名词之类。

热心网友 时间:2022-04-10 19:53

建议你买一本.Net设计规范看看,讲得很详细。

或者下一个fxcop,用来检查代码规范的
http://social.msdn.microsoft.com/forums/en-US/vstscode/threads/

说没有*,或只有大写规范的,估计是没看过开发规范。

光类的命名规范标准至少都有5个*。。。。。

参考资料:http://social.msdn.microsoft.com/forums/en-US/vstscode/threads/

热心网友 时间:2022-04-10 21:44

自定义类当然可以自己起的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我想问扣扣邮箱在哪里 求几道奥数题的答案(算数的)要简便得算哈 能不能给我六十道五年级奥数题.要答案 六十道五年级奥数题? 比亚迪和哪国合资的车 入党政审有什么步骤? 请问邮箱在哪里我怎么找不到 夫妻相克表太准了 夫妻相克会离婚吗? 夫妻相克表太准了夫妻五行相克化解方法 无法登录学信网怎么办? Java标识符的命名规则 教育部发布高校命名最新规范,命名规则是什么? 高校命名规范发布 如何规范电子文件的命名? c#的命名规则有哪些? javascript变量名和函数对象的命名规范是什么? java命名规范? “oracle”的命名规范是什么? c++命名规则 变量的命名规则 php的函数中参数的命名规范是怎样的 高校命名最新规范 Java类的命名规则是什么 我国高校命名规范 一般芯片的存储温度是多少,SYN6288这款的具体是多... 芯片存储数据的原理? 闪存芯片数据一般能保存多少年? RAM芯片以及FLASH芯片的存储机制 夜交藤和山楂可以同服吗? 求电子元器件的仓库温湿度分别是多少? 使用Java作为程序语言时,好的命名规范有哪些 Java中类的命名规范? 命名规范设计 我的被限制,需要好友辅助验证,好友那边显... 被限制登录,找好友帮忙辅助完成显示已提交... 被限制登录,找好友帮忙辅助完成显示已提交... 微信解封辅助为什么都符合条件,就是解不开呢? 我的微信解封好友辅助成功了,但是显示我这边解封环... 微信好友辅助验证成功了,但是还是限制,什么情况 微信好友辅助安全登陆验证已经安全通过,为什么还... 微信辅助,对面显示操作成功,我这面显示未能解封... 微信被封了。可是已经好友辅助成功了,为何还是登录不 微信被限制登录。好友辅助两次都成功了 到微信还是... 明明我的微信被封好友已经辅助成功,为什么我这边... 怎样使用手机ROOT精灵一键root获取系统权限 如何用root刷机精灵进行手机一键root 手机按键精灵一定要使手机root吗? ROOT精灵的软件特性 root精灵手机版怎么用 手机ROOT精灵怎样使用