ImageVerifierCode 换一换
格式:DOC , 页数:10 ,大小:720.50KB ,
资源ID:5910185      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/5910185.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【xrp****65】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【xrp****65】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(C#编码规范.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C#编码规范.doc

1、C#编码规范第10/10页1 程序结构所有源代码的结构均采用以下顺序布局,对于没有的部分可以省略,便于阅读代码。/=#region Constant#endregion Constant/-#region Members#endregion Members/-#region Defaults#endregion Defaults/-#region Properties#endregion Properties/=#region Constructors#endregion Constructors/-#region InterfaceMethods#endregion InterfaceMet

2、hods/-#region StaticMethods#endregion StaticMethods/-#region OverrideMethods#endregion OverrideMethods/-#region PrivateMethods#endregion PrivateMethods/-#region ProtectedMethods#endregion ProtectedMethods/-#region PublicMethods#endregion PublicMethods/=#region Events#endregion Events/=2 命名规则和风格 类、方法

3、、常量采用Pascal风格命名public class SomeClass const int DefaultSize = 100; public SomeMethod() 成员变量采用Camel风格命名,但前面加一个底划线public class SomeClass int _port = 5000; public SomeMethod() 局部变量和方法参数采用Camel风格命名public class SomeClass public SomeMethod(int len) string sLine; 接口采用I作为前缀命名interface IMyInterface 自定义属性类型以A

4、ttr作为后缀命名 自定义异常类型以Ex作为后缀命名 采用动名词命名方法,例如ShowDialog() 有返回值的方法的命名应该能够描述其返回值,例如GetObjectState() 采用描述性的变量名。 a) 避免采用单字母的变量名,如i或t;而是采用index或temp b) 对public和protected成员避免采用用匈牙利命名法,如:采用Port不用nPort, c) 尽量不要采用缩写(例如将number缩写为num) 总是使用C#预定义的类型,而不是使用System命名空间中的别名 例如:采用object不用Object 采用string不用String 采用int不用Int32

5、 对于泛型类型采用大写字母。当处理.NET类型的Type时保留其后缀Type/ 正确方法: public class LinkedList / 避免使用: public class LinkedList 采用有意义的命名空间名,例如产品名称或公司名称 避免使用类的全称,而是采用using声明 避免在命名空间内使用using语句 把所有系统框架提供的名称空间组织到一起,把第三方提供的名称空间放到系统名称空间的下面usingSystem; usingSystem.Collection.Generic; usingSystem.ComponentModel; usingSystem.Data; us

6、ingMyCompany; usingMyControls; 使用代理推导而不要显式的实例化一个化代理(C#2.0新特性)delegatevoidSomeDelegate(); publicvoidSomeMethod() SomeDelegatesomeDelegate=SomeMethod; 使用tab缩进,缩进4个空格 总是把花括号“”和“”独立放在新的一行一个文件名应该能够反映它所对应的类名3 编码实践1.避免在同一个文件中放置多个类 2.避免在一个文件内写多于500行的代码(机器自动生成的代码除外)3.避免写超过25行代码的方法4.避免写超过5个参数的方法,如果要传递多个参数,使用结

7、构5. 运算符的两边均应插入一个空格,便于阅读代码6.注释时,在注释符号后面插入一个空格,便于阅读代码/ 自定义类publicclassMyClass.7.不要手动去修改任何机器生成的代码 a)如果修改了机器生成的代码,修改你的编码方式来适应这个编码标准 b)尽可能使用partialclasses特性,以提高可维护性。(C#2.0新特性) 8.避免对那些很直观的内容作注释,代码本身应该能够解释其本身的含义。由可读的变量名和方法名构成的优质代码应该不需要注释9.注释应该只说明操作的一些前提假设、算法的内部信息等内容10.避免对方法进行注释 a)使用充足的外部文档对API进行说明 b)只有对那些其

8、他开发者的提示信息才有必要放到方法级的注释中来 11.除了0和1,绝对不要对数值进行硬编码,通过声明一个常量来代替该数值12.只对那些亘古不变的数值使用const关键字,例如一周的天数13.避免对只读(read-only)的变量使用const关键字。在这种情况下,直接使用readonly关键字publicclassMyClasspublicconstintDaysInWeek = 7;pubicreadonlyintNumber;publicMyClass(intsomeValue)Number=someValue;14.对每一个假设进行断言。平均起来,每5行应有一个断言usingSystem

9、.Diagnostics;objectGetObject()objectsomeObject = GetObject();Debug.assert(someObject != null);15.每一行代码都应该以白盒测试的方式进行审读16.只捕捉那些你自己能够显式处理的异常17.如果在catch语句块中需要抛出异常,则只抛出该catch所捕捉到的异常(或基于该异常而创建的其他异常),这样可以维护原始错误所在的堆栈位置catch(Exceptionex)MessageBox.Show(ex.Message);throw; /或throwexception;18.避免利用返回值作为函数的错误代码1

10、9.避免自定义异常类20.当自定义异常类的时候a)让你自定义的异常类从Exception类继承b)提供自定义的串行化机制23.避免friendassemblies,因为这会增加程序集之间的耦合性24.避免让你的代码依赖于运行在某个特定地方的程序集25.在applicationassembly(EXEclientassemblies)中最小化代码量。使用类库来包含业务逻辑26.避免显式指定枚举的值/ 正确 publicenumColorRed,Green,Blue / 避免 publicenumColorRed = 1, Green = 2, Blue = 329.避免使用三元条件操作符30.避

11、免利用函数返回的Boolean值作为条件语句。把返回值赋给一个局部变量,然后再检测BoolIsEverythingOK() / 避免if(IsEverythingOk()/正确boolok=IsEverythingOK();if(ok)31.总是使用以零为基数的数组32.总是使用一个for循环显式的初始化一个引用成员的数组publicclassMyClassconstintArraySize=100;MyClassarray=newMyClassArraySize;For(intindex=0;indexarray.Length;index+)arrayindex=newMyClass();3

12、3.使用属性来替代public或protected类型的成员变量34.不要使用继承下来的new操作符,使用override关键字覆写new的实现37.避免显示类型转换。使用as关键字安全的转换到另一个类型Dogdog = newGermanShepherd();GermanShepherdshepherd = dogasGermanShepherd;if(shepherd != null) 38.在调用一个代理前,总是检查它是否为null39.不要提供public的事件成员变量。改用EventAccessorPublicclassMyPublisherMyDelegatem_SomeEvent

13、;PubliceventMyDelegateSomeEventaddm_SomeEvent+=value;removem_SomeEvent-=value;40.避免定义事件处理代理。使用EventHandler或者GenericEventHandler41.避免显示触发事件。使用EventsHelper安全的发布事件42.总是使用接口43.接口和类中方法和属性的比应该在2:1左右44.避免只有一个成员的接口45.努力保证一个接口有35个成员46.不要让一个接口中成员的数量超过20,而12则是更为实际的限制47.避免在接口中包含事件48.当使用抽象类的时候,提供一个接口49.在类继承结构中暴露

14、接口50.推荐使用显式接口实现51.从来不要假设一个类型支持某个接口。在使用前总是要询问一下SomeTypeobj1;ImyInterfaceobj2;/ Somecodetoinitializeobj1,then:obj2 = obj1asImyInterface;if(obj2 != null)obj2.Method1();else/ Handleerroinexpectedinterface53.不要硬编码那些可能会随发布环境变化而变化的字符串,例如数据库连接字符串54.使用String.Empty取代/ 避免stringname = ”;/ 正确stringname = String.

15、Empty;55.使用一个超过80字符的长字符串的时候,使用StringBuilder代替string56.避免在结构中提供方法a)参数化的构造函数是鼓励使用的b)可以重载运行符58.当早绑定(early-binding)可能的时候就尽量不要使用迟绑定(late-binding)59.让你的应用程序支持跟踪和日志61.总在switch语句的default情形提供一个断言intnumber = SomeMethod();swith(number)case1:trace.WriteLine(“Case1:”)break;case2:trace.Writeline(“Case2:”);break;d

16、efault:debug.Assert(false);break;62.除了在一个构造函数中调用其它的构造函数之外,不要使用this关键字/ ExampleofproperuseofthispublicclassMyClasspublicMyClass(stringmessage).publicMyClass():this(“Hello”). 63.不要使用base关键字访问基类的成员,除非你在调用一个基类构造函数的时候要决议一个子类的名称冲突/ ExampleofproperuseofbasepublicclassDogpublicDog(stringname).virtualpublicv

17、oidBark(inthowlong).publicclassGermanShepherd:DogpublicGermanShepherd(stringname):base(name).overridepublicvoidBark(inthowLong)base.Bark(howLong)66.基于Programming.NETcomponents2/e中第四章的内容实现Disponse()和Finalize()方法67.总是在unchecked状态下运行代码(出于性能的原因),但是为了防止溢出或下溢操作,要果断地使用checked模式IntCalcPower(intnumber,intpow

18、er)intresult=1;for(intcount=1;count=power;count+)checkedresult*=number;returnresult; 68.使用条件方法来取代显式进行方法调用排除的代码(#if#endif)4 控件命名4.1 数据类型命名数据类型数据类型简写标准命名举例Boolean bbIsPostBack Integer nnRowCounter Long l lPos Single ffMaxX Double ddMaxValueChar c cDelimiter String ssFirstName DateTime dtdtStartDate By

19、te bytbytPixelValue Decimal dec decAverageHeight Short shtshtAverage Object obj objReturnValue Array后面加sstudentsArrayList前面加arrayarrayStudent List前面加listlistStudent4.2 Win控件命名控件类型控件类型简写标准命名举例Label lbl lblMessage LinkLabel llbl llblToday Button btn btnSave TextBox txt txtName MainMenu mnmnFile MenuIt

20、emmimiFileOpenPopupMenupmpmPrintCheckBox chk chkStock RadioButton rdordoSelected GroupBox gbogboMain PictureBox pic picImage Panel pnl pnlBody DataGrid grd grdView ListBox lst lstProducts CheckedListBox lstlstChecked ComboBox cbo cboMenu ListView lvw lvwBrowser TreeView tvw tvwType TabControl ctlctl

21、SegyInfoTabPageTabtabTrackInfoDateTimePicker dtp dtpStartDate HscrollBar hsb hsbImage VscrollBar vsb vsbImage Timer timtimCount ImageList img imgList ToolBar tlb tlbManage StatusBar stb stbFootPrint OpenFileDialog dlg dlgOpenSaveFileDialog dlg dlgSave FoldBrowserDialog dlg dlgBrowser FontDialog dlg

22、dlgFontColorDialog dlg dlgColor PrintDialog dlg dlgPrint 4.3 Web控件命名控件类型控件类型简写标准命名举例AdRotator adrt Example Button btn btnSubmit Calendar cal calMettingDates CheckBox chk chkBlue CheckBoxList chkl chklFavColors CompareValidator valc valcValidAge CustomValidator valx valxDBCheck DataGrid dgrd dgrdTitl

23、es DataList dlst dlstTitles DropDownList drop dropCountries HyperLink lnk lnkDetails Image img imgAuntBetty ImageButton ibtn ibtnSubmit Label lbl lblResults LinkButton lbtn lbtnSubmit ListBox lst lstCountries Panel pnl pnlForm2 PlaceHolder plh plhFormContents RadioButton rad radFemale RadioButtonLis

24、t radl radlGender RangeValidator valg valgAge RegularExpression vale valeEmail_Validator Repeater rpt rptQueryResults RequiredFieldValidator valr valrFirstName Table tbl tblCountryCodes TableCell tblc tblcGermany TableRow tblr tblrCountry TextBox txt txtFirstName ValidationSummary vals valsFormError

25、s XML xmlc xmlcTransformResults 4.4 ADO.Net控件命名控件类型控件类型简写标准命名举例Connection con conNorthwind Command cmd cmdReturnProducts Parameter parparProductID DataAdapter dadaProducts DataReader drdrProducts DataSet dsdsNorthWind DataTable dtdtProduct DataRow rowrowRow98 DataColumn col colProductID DataRelation rel relMasterDetail DataView vwvwFilteredProducts 4.5 希腊字母命名AlphaIotaRhoBetaKappaSigmaGammaLambdaTauDeltaMuUpsilonEpsilonNuPhiZetaXiChiEtaOmicronPsiThetaPiOmega长江大学计算机学院

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服