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

       公司内部要统一下编程的命名规范,针对C#,大家帮忙修改一下或提一下意见。     
(1)   基本变量命名规定
 基本变量命名参照匈牙利命名法,这种命名法的基本原则是:
变量名 属性类型对象描述
即一个变量名是由三部分信息组成,这样,程序员很容易理解变量的类型、用途,而且便于记忆。
1) 属性部分: ( 加为前缀 )
全局变量: g_
类或结构体成员变量: m_
2) 类型部分:(加为前缀)
指针: p
句柄: h
布尔型(由 bool 声明的变量): b
浮点型(由 float 声明的变量): f
双精度型(由 double 声明的变量): d
无符号 ( uint ushort 声明的变量 ) u
整型(由 int short 声明的变量): 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 前缀
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值