公司内部制定C#编程命名规范,大家帮忙修改一下

本文详细介绍了C#编程中各类元素的命名规范,包括变量、类、接口、枚举等,帮助开发者统一代码风格,提高代码可读性和维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      公司内部要统一下编程的命名规范,针对C#,大家帮忙修改一下或提一下意见。     
(1)   基本变量命名规定
 基本变量命名参照匈牙利命名法,这种命名法的基本原则是:
变量名属性类型对象描述
即一个变量名是由三部分信息组成,这样,程序员很容易理解变量的类型、用途,而且便于记忆。
1)属性部分:(加为前缀)
全局变量: g_
类或结构体成员变量: m_
2)类型部分:(加为前缀)
指针: p
句柄: h
布尔型(由bool声明的变量): b
浮点型(由float声明的变量): f
双精度型(由double声明的变量):d
无符号(uintushort声明的变量) u
整型(由intshort声明的变量):i
字符型(由char声明的变量):ch
字节型(byte声明的变量)bt
字符串型(由string声明的变量):str
 
3)描述部分:(加为后缀)
临时变量: Tmp
目的对象: Dst
源对象: Src
窗口: Wnd
 
(2)   类(class)的名称命名规定:
1)类的名称是指用关键字class声明的变量的名称。
2)大小定规定:将标识符的首字母和后面连接的每个单词的首字母都大写。
3)每个类的名称前加大写“C”前缀。
4)用名词或名词短语命名类。
5)类名称不能使用下划线字符。
 
例如:
合法的类命名:public class CFileStream
非法的类命名:
public class FileStream
public class C_File_Stream
 
(3)   接口(interface)名称的命名规定:
1)接口的名称是指用关键字interface声明的变量的名称。
2)大小定规定:将标识符的首字母和后面连接的每个单词的首字母都大写。
3)每个接口的名称前加大写“I”前缀。
4)用名词或名词短语命名接口。
5)接口名称不能使用下划线字符。
 
例如:
合法的接口命名:
public interface IserviceProvider
public interface IFormatable
 
非法的接口命名:
public interface ServiceProvider
public interface I_Service_Provider
 
(4)   枚举(enum)名称的命名规定:
1)枚举的名称是指用关键字enum 声明的变量的名称。
2)大小定规定:将标识符的首字母和后面连接的每个单词的首字母都大写。
3)每个枚举的名称后加“Flags”后缀。
4)用名词或名词短语命名枚举。
 
例如:
合法的枚举命名:
public enum SeekPersitionFlags
public enum StateFlags
 
非法的枚举命名:
public enum SeekPersition
public enum State
 
(5)   结构体(struct)名称的命名规定:
1)结构体的名称是指用关键字struct声明的变量的名称。
2)大小定规定:将标识符的首字母和后面连接的每个单词的首字母都大写。
3)每个结构体的名称前加大写“S”前缀。
4)用名词或名词短语命名结构体。
5)结构体名称不能使用下划线字符。
 
例如:
合法的结构体命名:
public struct SPoint
public interface SStudent
 
非法的结构体命名:
public struct Point
public struct S_Point
 
(6)   枚举成员名称的命名规定:
1)枚举成员的名称是指用关键字enum 声明的变量体内的成员的名称。
2)大小定规定:将标识符的首字母和后面连接的每个单词的首字母都大写。
3)用名词或名词短语命名枚举值。
 
例如:
public enum WeekFlags
{
     Sunday,
     Monday,
     Tuesday,
     Wednesday,
     Thursday,
     Friday,
     Saturday
};
 
public enum SeekPersitionFlags
{
NoFlush,
SeekToKeyFrame,
IncrementalPositioning,
RelativePositioning,
AbsolutePositioning
};
 
(7)   事件名称命名规范
1)对事件处理程序名称使用 EventHandler 后缀。
2)指定两个名为 sender e 的参数。sender 参数表示引发事件的对象。sender 参数始终是object 类型的,即使在可以使用更为特定的类型时也如此。与事件相关联的状态封装在名为 e 的事件类的实例中。对 e 参数类型使用适当而特定的事件类。
3) EventArgs 后缀命名事件参数类。
4)使用动名词(动词的“ing”形式)创建表示事件前的概念的事件名称,用过去式表示事件后。例如,可以取消的 Close 事件应当具有 Closing 事件和 Closed 事件。不要使用BeforeXxx/AfterXxx 命名模式。
 
例如:
public delegate void MouseEventHandler(object sender, MouseEventArgs e);
 
    以下示例阐释正确命名的事件参数类。
 
                   public class MouseEventArgs : EventArgs
                {
                   int x;
                   int y;
 
                   public MouseEventArgs(int x, int y)
                   {
this.x = x;
this.y = y;
}
 
                   public int X
                   {
                       get
                       {
                           return x;
                       }
                   }
 
                   public int Y
                   {
                        get
                        {
                            return y;
                        }
                   }
                }
 
(8)   常量(const)命名规范
1)常量是指类型声明之前有const修饰的量。
2)常量中所有单词都使用大写,各个单词之前用“_”隔开。
 
例如:
public const string PAGE_TITLE = "Welcome";
 
(9)   常用控件类型对象命名规范
Form窗体类型:加frm前缀
Button按钮类型:加btn前缀
TextBox文本框类型:加txt前缀
Label控件类型:加lab前缀
Menu菜单类型:加mnu前缀
Dialog对话框类型:加dlg后缀
 
(10)           其它常用类型对象命名规范
ArrayList类型 :加lst前缀
Image类型:加img前缀
Bitmap类型:加bmp前缀
 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值