zoukankan      html  css  js  c++  java
  • C# 编码规范

    Pascal命名法:每个单词首字母均大写。

    Camel命名法:第一个单词首字母小写,其余单词首字母大写。

    类:

    1、使用 Pascal 大小写。

    2、用名词或名词短语命名类,保证类名清晰,尽量达到望文生义的境界。

    3、类名称尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明类的用途。

    4、不要使用类型前缀,例如,类名称前加上C以表示这是一个类,如:CButton。

    5 、类命名中不要使用下划线及数字。

    6 、有时候虽然该类不是接口,但需要提供以字母 I 开始的类名称,此时只要 I 是作为类名称组成部分的整个单词的第一个字母,这依然是可行的。例如,类名 IdentityOrder 就是适用的。

    类命名示例:

    public class FlightBuilder

    public class HotelInfo

    public class TicketShopper

    接口:

    1、 接口使用大些字母I做前缀,其后跟名词或名词短语,以描述这个接口,名词和短语使用Pascal方式,如,接口名称 ICache。

    2、接口名称尽量少用或不用缩写,保证接口名清晰,尽量达到望文生义的境界,若使用了缩写一定要在注释中详细描述接口的用途。

    3、接口名称中不要使用下划线及数字。

    接口命名示例:

    public interface ICache

    public interface IClone

    枚举:

    1、用短语命名枚举,采用Pascal方式,保证枚举名清晰,尽量达到望文生义的境界。

    2、枚举名称尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明枚举的用途。

    3、不要在枚举名称后跟上 Enum 后缀,如:OrderFlagEnum。

    4、一定不要使用汉字作为枚举值,以免多语言环境下造成莫名。

    枚举命名示例:

    public enum OrderFlag

    {

             None,

             F

    }

    参数:

    1、使用描述性参数名称,保证参数名称清晰,尽量达到望文生义的境界。

    2、参数命名使用 Camel 方,尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明参数的用途。

    参数命名示例:

    object GetCache(string cacheKey)

    bool IsInt(string needCheckString)

    方法:

    1、用动词或动词短语命名方法名,保证方法名清晰,尽量达到望文生义的境界。

    2、采用Pascal方式命名,尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明方法的用途。

    方法名示例:

    public void ClearCache()

    public char[] GetCharArray()

    属性:

    1、用名词或名词短语命名属性,保证属性名清晰,尽量达到望文生义的境界。

    2、采用Pascal方式命名,尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明属性的用途。

    属性示例:

    public string FlightNo {

    get;

    set;

    }

    常量:

    1、所有单词大写,多个单词之间用 下划线(”_”)隔开,注意不是全角的下划线。 如

    public const int PAGE_INDEX = 6;

    局部变量及成员变量:

    1、用名词或名词短语命名局部变量,保证变量名清晰,尽量达到望文生义的境界。

    2、采用Camel方式命名,尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明变量的用途。

    局部变量命名示例:

    int index = 6;

    string airline = string.Empty;

    private string flightNo = null;

    特性(Attribute):

    1、用名词或名词短语+Attribute方式命名特性,保证特性名清晰,尽量达到望文生义的境界。

    2、采用Pascal方式命名,尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明特性的用途。

    特性命名示例:

    public class ValidAttribute : Attribute

    {

    }

    异常:

    1、用名词或名词短语+Exception方式命名自定义异常,保证特性名清晰,尽量达到望文生义的境界。

    2、采用Pascal方式命名,一定不能使用简写。

    异常命名示例:

    public class FlightException : ApplicationException

    {

    }

    委托(delegate):

    1、用动词短语命名委托,保证委托名清晰,尽量达到望文生义的境界。

    2、采用Pascal方式命名,一定不能使用简写。

    委托命名示例:

    delegate void PageChange( int pageIndex );

    C#保留关键字:

    避免使用与常用的 .NET 框架命名空间重复的类名称。例如,不要将以下任何名称用作类名称:

    System、Collections。有关 .NET 框架命名空间的列表,请参阅MSDN类库。

    另外,避免使用和以下关键字冲突的标识符。

    AddHandler AddressOf Alias And Ansi
    As Assembly Auto Base Boolean
    ByRef Byte ByVal Call Case
    Catch CBool CByte Cchar CDate
    CDec CDbl Char Cint Class
    CLng CObj Const Cshort CSng
    CStr CType Date Decimal Declare
    Default Delegate Dim Do Double
    Each Else ElseIf End Enum
    Erase Error Event Exit ExternalSource
    False Finalize Finally Float For
    Friend Function Get GetType Goto
    Handles If Implements Imports In
    Inherits Integer Interface Is Let
    Lib Like Long Loop Me
    Mod Module MustInherit MustOverride MyBase
    MyClass Namespace New Next Not
    Nothing NotInheritable NotOverridable Object On
    Option Optional Or Overloads Overridable
    Overrides ParamArray Preserve Private Property
    Protected Public RaiseEvent ReadOnly ReDim
    Region REM RemoveHandler Resume Return
    Select Set Shadows Shared Short
    Single Static Step Stop String
    Structure Sub SyncLock Then Throw
    To True Try TypeOf Unicode
    Until volatile When While With
    WithEvents WriteOnly Xor Eval extends
    instanceof package var    
             

    控件命名规则:

    控件众多,统一的命名方式也多有冲突,开发人员记忆所有控件难免弄错,现采用默认控件类型作为前缀,前缀名称全部小写,控件名采用:类型缩写+名词短语(采用Pascal方式),虽然这样会使命名变得冗长,但是命名更加能反应出变量的意义,开发人员也不需要去强记各个控件的缩写。

    控件示例:

    <asp:Label id=”labelFlightNo” runat=”Server” />

  • 相关阅读:
    软件缺陷管理流程
    Linux常用文件管理命令
    Http中Cookie和Session介绍
    linux实现自动远程备份(scp+ssh)
    测试基础知识(一)
    企业分布式微服务云SpringCloud SpringBoot mybatis (十三)断路器聚合监控(Hystrix Turbine)
    企业分布式微服务云SpringCloud SpringBoot mybatis (十二)断路器监控(Hystrix Dashboard)
    企业分布式微服务云SpringCloud SpringBoot mybatis (十一)docker部署spring cloud项目
    企业分布式微服务云SpringCloud SpringBoot mybatis (十)高可用的服务注册中心
    企业分布式微服务云SpringCloud SpringBoot mybatis (九)服务链路追踪(Spring Cloud Sleuth)
  • 原文地址:https://www.cnblogs.com/testsec/p/5936136.html
Copyright © 2011-2022 走看看