C_代码规范.doc_第1页
C_代码规范.doc_第2页
C_代码规范.doc_第3页
C_代码规范.doc_第4页
C_代码规范.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

36ng15ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddC#代码规范1.类名使用Pascal 大小写形式 public class HelloWorld .2.方法(属性)使用Pascal 大小写形式 public class HelloWorld void sayHello(string name) . 3.用Camel规则来命名局部变量和方法的参数. class HelloWorld int toTalount = 0; void SayHello(string name) string fullMessage = Hello + name; . 4.用有意义的,描述性的词语来命名变量 尽量不要使用缩写。用name, address, salary等代替 nam, addr, sal (理解不清的要注释)用于循环迭代的变量例外:for ( int i = 0; i count; i+ ) .5.所有的成员变量前加前缀 m_,常量每个字符都大写public class Databasepublic string m_connectionString;6.接口的名称加前缀 I.interface ICompareint compare();7.自定义的特性以Attribute结尾public class AuthorAttribute : Attribute8.自定义的异常以Exception结尾public class AppException : Exception9.方法的命名.一般将其命名为动宾短语.ShowDialog()CreateFile()GetPath()10.文件名要和类名匹配 例如,对于类HelloWorld, 相应的文件名应为 HelloWorld.cs (或, HelloWorld.vb)目录及文件的名字要取得有意义 12.缩进和间隔l 缩进用 TAB . 不用 SPACES.。 l 注释需和代码对齐.。 l 花括弧 ( ) 需和括号外的代码对齐。 l 用一个空行来分开代码的逻辑分组.l If try 涉及代码块要用一句话注释来简单解释13. 属性的使用(安全控制)public string Nameget return ;set =value;如果你要在类外部给一个变量赋值的,要使用属性来赋值,这样具有更高的安全性14.使用某个控件的值时,尽量命名局部变量.15.把引用的系统的namespace和自定义或第三方的分开.16.目录结构中要反应出namespace的层次.良好的编程习惯l 避免使用大文件。如果一个文件里的代码超过300400行,必须考虑将代码分开到不同类中。 l 避免写太长的方法。一个典型的方法代码在125行之间。如果一个方法发代码超过25行,应该考虑将其分解为不同的方法。 l 方法名需能看出它作什么。别使用会引起误解的名字。如果名字一目了然,就无需用文档来解释方法的功能了。好: void SavePhoneNumber ( string phoneNumber ) / Save the phone number. 不好: / This method will save the phone number. void SaveData ( string phoneNumber ) / Save the phone number. 别在程序中使用固定数值,用常量代替。 l 别用字符串常数。用资源文件。 l 避免使用很多成员变量。声明局部变量,并传递给方法。不要在方法间共享成员变量。如果在几个方法间共享一个成员变量,那就很难知道是哪个方法在什么时候修改了它的值。全局静态变量最好只读取,不要修改。 l 必要时使用enum 。别用数字或字符串来指示离散值。 好: enum MailType Html, PlainText, Attachment void SendMail (string message, MailType mailType) switch ( mailType ) case MailType.Html: / Do something break; case MailType.PlainText: / Do somethingbreak; case MailType.Attachment: / Do something break; default: / Do something break; 不好: void SendMail (string message, string mailType) switch ( mailType ) case Html: / Do something break; case PlainText: / Do something break; case Attachment: / Do something break; default: / Do something break; ll 别把成员变量声明为 public 或 protected。都声明为 private l 不在代码中使用具体的路径和驱动器名。 使用相对路径,并使路径可编程。 l 错误消息需能帮助用户解决问题。永远别用象应用程序出错, 发现一个错误 等错误消息。而应给出象 更新数据库失败。请确保登陆id和密码正确。 的具体消息l 显示给用户的消息要简短而友好。但要把所有可能的信息都记录下来,以助诊断问题。 注释l 别每行代码,每个声明的变量都做注释。 l 在需要的地方注释。可读性强的代码需要很少的注释。如果所有的变量和方法的命名都很有意义,会使代码可读性很强并无需太多注释。 l 行数不多的注释会使代码看起来优雅。但如果代码不清晰,可读性差,那就糟糕。 l 如果应为某种原因使用了复杂艰涩的原理,为程序配备良好的文档和重分的注释。 l 对一个数值变量采用不是0,-1等的数值初始化,给出选择该值的理由。 l 简言之,要写清晰,可读的代码以致无须什么注释就能理解。以下可看可不看异常处理l 不要“捕捉了异常却什么也不做“。如果隐藏了一个异常,你将永远不知道异常到底发生了没有。 l 发生异常时,给出友好的消息给用户,但要精确记录错误的所有可能细节,包括发生的时间,和相关方法,类名等。 l 只捕捉特定的异常,而不是一般的异常。好: void ReadFromFie ( string fileName ) try / read from file. catch (FileIOException ex) / log error. / re-throw exception depending on your case. throw; 不好: void ReadFromFile ( string fileName ) try / read from file. catch (Exception ex) / Catching general exception is bad. we will never know whether it / was a file error or some other error. / Here you are hiding an exception. / In this case no one will ever know that an exception happened. return ; l 你可以用应用程序级(线程级)错误处理器处理所有一般的异常。遇到”以外的一般性错误“时,此错误处理器应该捕捉异常,给用户提示消息,在应用程序关闭或

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论