C#编码规范

    xiaoxiao2021-12-14  20

    引言命名规则命名方法注释规范数据库命名命名实例 变量WebControlsADONET 总结

    1. 引言

    最近,小编正在进行机房合作项目,多人开发的项目,让我学到了不少的知识。除此之外,对代码的认识更是有了深一层的理解。好的代码,不仅自己写的放心,别人看着也舒心。你好,我好,大家好的事情,何乐而不为啊!

    2.命名规则

    1、名字应该能够标识事物的特性,并且与业务挂钩。

    2、名字一律使用英文单词,而不能为拼音。

    3、在名字中,多个单词用大写第一个字母(其它字母小写)来分隔。例如:IsSuperUser。

    4、在具体任务开发中,如果有特定的命名约定,则在相应的软件开发计划中予以明确定义及上报质量管理部审计组。

    在一般情况下,不推荐缩写命名,不要担心变量命名长,长的变量名能使变量的意义更加清晰,其实从长变量名的负面作用三,因为Ctrl+C和Ctrl+V加上在VS中的智能感知,其负面追用已经很小。变量命名的原则是,尽最大努力让其他人在看到我们的变量/函数/…等的第一时间,大概能猜出它是做什么的。 比如:int productTypeCount = 0; //我们在第一时间就能知道它是记录产品的数量的变量。

    3.命名方法

    编程的命名方式主要有Pascal和Camel两种:

    Pascal:每个单词的首字母大写,例如ProductTypeCamel:首个单词的首字母小写,其余单词的首字母大写,例如productType

    4.注释规范

    1、文件头部注释

    在代码文件的头部进行注释,这样做的好处在于,我们能对代码文件做变更跟踪。在代码头部分标注出创始人、创始时间、修改人、修改时间、代码的功能,这在团队开发中必不可少,它们可以使后来维护/修改的同伴在遇到问题时,在第一时间知道他应该向谁去寻求帮助,并且知道这个文件经历了多少次迭代、经历了多少个程序员的开发和修改。

    /*************************************************** ** 作者:XXX ** 创始时间:2016年12月4日16:20:08 ** 修改人:XXX ** 修改时间:2016年12月4日16:20:08 ** 描述: 主要用于产品信息的资料录入,… ***************************************************/

    2、标准注释

    /// <summary> /// <对该方法的说明> /// </summary> /// <param name="参数名称"><参数说明></param> /// <returns> <对方返回值的说明,该说明必须明确说明返回的值代表什么含义> ///</returns>

    5.数据库命名

    数据库命名数据库的字段、表名的命名都推荐采用Pascal命名方式,尽量不采用缩写。当然,使用长的字段名、表名,可能会使SQL语句的编写带来负面影响。我推荐大家可以使用一些ORM,ORM的性能肯定不会比直接写SQL的好,但是如果做业务系统,更重要的是系统多久能交付用户使用,ORM不仅使开发时间可以缩短不少,并且在后期的维护上也比直接写SQL便利很多。

    TypeExample表T_Student、R_ClassGrade表字段userId视图V_Student存储过程PROC_Login触发器TR_Customer_I

    6.命名实例

    1.变量

    TypePrefixExampleArrayarrarrShoppingListBooleanblnblnIsPostBackBytebytbytPixelValueCharchrchrDelimiterDateTimedtmdtmStartDateDoubledbldblSizeofUniverseLonglnglngBillGatesIncomeShortshrshrAverageStringstrstrFirstName

    2.WebControls

    TypePrefixExampleAdRotatoradrtadrtTopAdButtonbtnbtnSubmitCalendarcalcalMettingDatesCheckBoxListchklchklFavColorsCompareValidatorvalcvalcValidAgeCustomValidatorvalxvalxDBCheckDataGriddgrddgrdTitlesDataListdlstdlstTitlesDropDownListdropdropCountriesHyperLinklnklnkDetailsImageimgimgAuntBettyImageButtonibtnibtnSubmitLabellbllblResultsLinkButtonlbtnlbtnSubmitListBoxlstlstCountriesPanelpnlpnlForm2PlaceHolderplhplhFormContentsRadioButtonradradFemaleRadioButtonListradlradlGenderRangeValidatorvalgvalgAgeRegularExpressionvalevaleEmail_ValidatorRepeaterrptrptQueryResultsRequiredFieldValidatorvalrvalrFirstNameTabletbltblCountryCodesTableCelltblctblcGermanyTableRowtblrtblrCountryTextBoxtxttxtFirstNameValidationSummaryvalsvalsFormErrorsXMLxmlcxmlcTransformResults

    3.ADO.NET

    TypePrefixExampleConnectionconconNorthwindCommandcmdcmdReturnProductsParameterparmparmProductIDDataAdapterdaddadProductsDataReaderdtrdtrProductsDataSetdstdstNorthWindDataTabledtbldtblProductDataRowdrowdrowRow98DataColumndcoldcolProductIDDataRelationdreldrelMasterDetailDataViewdvwdvwFilteredProducts

    以下是一些常用的C#成员及其推荐命名方法:

    标志符规则实例与描述类classPascalApplication枚举类型enumPascal记住,是以Pascal命名,切勿包含Enum,否则FXCop会抛出Issue委托delegatePascal以Pascal命名,不以任何特殊字符串区别于类名、函数名常量const全部大写全部大写,单词间以下划线隔开接口interfacePascalIDisposable 注:总是以I前缀开始,后接Pascal命名方法functionPascalToString命名空间namespacePascal以.分隔,当每一个限定词均为Pascal命名方式,比如:using参数Camel首字母小写局部变量Camel也可以加入类型标识符,比如对于System.String类型,声明变量是以str开头,string strSQL = string.Empty;数据成员Camel以m开头+Pascal命名规则,如mProductType(m意味member)属性Pascal

    7.总结

    代码规范有其必要性,但不能因为规范而规范,从开发而言,开发了更快的做出稳定的系统,而稳定的系统是为了给公司带来受益。开发人员、项目管理人员都应该更多的从项目经营的角度出来,同时站在公司、客户的角度考虑问题,而不是因为代码而代码。

    转载请注明原文地址: https://ju.6miu.com/read-963209.html

    最新回复(0)