linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘网络学院网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > c/c++/c# >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·Windows/Linux下配置Eclipse+C
·c语言static与extern的用法
·VC++(Ctime日期函数)应用
·typedef struct和struct的区别
·C/C++对文件操作
·C常用算法程序实例-线性代数方
·C#发送Email邮件方法总结
·struct的初始化,拷贝及指针成
·C语言入门实例 switch使用
·c++二叉树实现源代码
·对初学者的建议:如何学习C语言
·C++ Builder 处理控件中的文本
·常用的BCB & Delphi 函数
·C++入门经典教程完全版01-引言
·C++ Builder 使用Canvas对象的
最新文章
·使用C/C++扩展Python
·C语言入门实例 switch使用
·在C#里实现DATAGRID的打印预览
·如何使用 Visual C# .NET 创建
·C#发送Email邮件方法总结
·一道C#面试题目引发的思考
·c语言艺术清屏
·c语言static与extern的用法
·大数的阶乘算法
·C#编码好习惯
·构造函数,复制构造函数
·typedef struct和struct的区别
·struct的初始化,拷贝及指针成
·超强的指针学习笔记推荐
·STL中erase方法对链表类容器的
Google
 
C#编码好习惯
[ 作者:  加入时间:2007-11-16 12:57:19  来自:Linux联盟收集整理 ]
1. 避免将多个类放在一个文件里面。 NALLinux联盟
   NALLinux联盟
  2. 一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面。 NALLinux联盟
   NALLinux联盟
  3. 一个文件最好不要超过500行的代码(不包括机器产生的代码)。 NALLinux联盟
   NALLinux联盟
  4. 一个方法的代码长度最好不要超过25行。 NALLinux联盟
   NALLinux联盟
  5. 避免方法中有超过5个参数的情况。使用结构来传递多个参数。 NALLinux联盟
   NALLinux联盟
  6. 每行代码不要超过80个字符。 NALLinux联盟
   NALLinux联盟
  7. 不要手工的修改机器产生的代码。 NALLinux联盟
   NALLinux联盟
  a) 如果需要编辑机器产生的代码,编辑格式和风格要符合该编码标准。 NALLinux联盟
   NALLinux联盟
  b) Use partial classes whenever possible to factor out the maintained portions. NALLinux联盟
   NALLinux联盟
  8. 避免利用注释解释显而易见的代码。 NALLinux联盟
   NALLinux联盟
  a) 代码应该可以自解释。好的代码由可读的变量和方法命名因此不需要注释。 NALLinux联盟
   NALLinux联盟
  9. Document only operational assumptions, algorithm insights and so on. NALLinux联盟
   NALLinux联盟
  10. 避免使用方法级的文档。 NALLinux联盟
   NALLinux联盟
  a) 使用扩展的API文档说明之。 NALLinux联盟
   NALLinux联盟
  b) 只有在该方法需要被其他的开发者使用的时候才使用方法级的注释。(在C#中就是///) NALLinux联盟
   NALLinux联盟
  11. 不要硬编码数字的值,总是使用构造函数设定其值。 NALLinux联盟
   NALLinux联盟
  12. 只有是自然结构才能直接使用const,比如一个星期的天数。 NALLinux联盟
   NALLinux联盟
  13. 避免在只读的变量上使用const。如果想实现只读,可以直接使用readonly。 NALLinux联盟
   NALLinux联盟
  public class MyClass NALLinux联盟
   NALLinux联盟
  { NALLinux联盟
   NALLinux联盟
   public readonly int Number; NALLinux联盟
   NALLinux联盟
   public MyClass(int someValue) NALLinux联盟
   NALLinux联盟
   { NALLinux联盟
   NALLinux联盟
   Number = someValue; NALLinux联盟
   NALLinux联盟
   } NALLinux联盟
   NALLinux联盟
   public const int DaysInWeek = 7; NALLinux联盟
   NALLinux联盟
  } NALLinux联盟
   NALLinux联盟
  14. 每个假设必须使用Assert检查 NALLinux联盟
   NALLinux联盟
  a) 平均每15行要有一次检查(Assert) NALLinux联盟
   NALLinux联盟
  using System.Diagnostics; NALLinux联盟
   NALLinux联盟
   NALLinux联盟
   NALLinux联盟
  object GetObject() NALLinux联盟
   NALLinux联盟
  {…} NALLinux联盟
   NALLinux联盟
   NALLinux联盟
   NALLinux联盟
  object obj = GetObject(); NALLinux联盟
   NALLinux联盟
  Debug.Assert(obj != null); NALLinux联盟
   NALLinux联盟
  15. 代码的每一行都应该通过白盒方式的测试。 NALLinux联盟
   NALLinux联盟
  16. 只抛出已经显示处理的异常。 NALLinux联盟
   NALLinux联盟
  17. 在捕获(catch)语句的抛出异常子句中(throw),总是抛出原始异常维护原始错误的堆栈分配。 NALLinux联盟
   NALLinux联盟
  catch(Exception exception) NALLinux联盟
   NALLinux联盟
  { NALLinux联盟
   NALLinux联盟
   MessageBox.Show(exception.Message); NALLinux联盟
   NALLinux联盟
   throw ; //和throw exception一样。 NALLinux联盟
   NALLinux联盟
  } NALLinux联盟
   NALLinux联盟
  18. 避免方法的返回值是错误代码。 NALLinux联盟
   NALLinux联盟
  19. 尽量避免定义自定义异常类。 NALLinux联盟
   NALLinux联盟
  20. 当需要定义自定义的异常时: NALLinux联盟
   NALLinux联盟
  a) 自定义异常要继承于ApplicationException。 NALLinux联盟
   NALLinux联盟
  b) 提供自定义的序列化功能。 NALLinux联盟
   NALLinux联盟
  21. 避免在单个程序集里使用多个Main方法。 NALLinux联盟
   NALLinux联盟
  22. 只对外公布必要的操作,其他的则为internal。 NALLinux联盟
   NALLinux联盟
  23. Avoid friend assemblies, as it increases inter-assembly coupling. NALLinux联盟
   NALLinux联盟
  24. Avoid code that relies on an assembly running from a particular location. NALLinux联盟
   NALLinux联盟
  25. 使应用程序集尽量为最小化代码(EXE客户程序)。使用类库来替换包含的商务逻辑。 NALLinux联盟
   NALLinux联盟
  26. 避免给枚举变量提供显式的值。 NALLinux联盟
   NALLinux联盟
  //正确方法 NALLinux联盟
   NALLinux联盟
  public enum Color NALLinux联盟
   NALLinux联盟
  { NALLinux联盟
   NALLinux联盟
   Red,Green,Blue NALLinux联盟
   NALLinux联盟
  } NALLinux联盟
   NALLinux联盟
  //避免 NALLinux联盟
   NALLinux联盟
  public enum Color NALLinux联盟
   NALLinux联盟
  { NALLinux联盟
   NALLinux联盟
   Red = 1,Green = 2,Blue = 3 NALLinux联盟
   NALLinux联盟
  } NALLinux联盟
   NALLinux联盟
  27. 避免指定特殊类型的枚举变量。 NALLinux联盟
   NALLinux联盟
  //避免 NALLinux联盟
   NALLinux联盟
  public enum Color : long NALLinux联盟
   NALLinux联盟
  { NALLinux联盟
   NALLinux联盟
   Red,Green,Blue NALLinux联盟
   NALLinux联盟
  } NALLinux联盟
   NALLinux联盟
  28. 即使if语句只有一句,也要将if语句的内容用大括号扩起来。 NALLinux联盟
   NALLinux联盟
  29. 避免使用trinary条件操作符。 NALLinux联盟
   NALLinux联盟
  30. 避免在条件语句中调用返回bool值的函数。可以使用局部变量并检查这些局部变量。 NALLinux联盟
   NALLinux联盟
  bool IsEverythingOK() NALLinux联盟
   NALLinux联盟
  {…} NALLinux联盟
   NALLinux联盟
  //避免 NALLinux联盟
   NALLinux联盟
  if (IsEverythingOK ()) NALLinux联盟
   NALLinux联盟
  {…} NALLinux联盟
   NALLinux联盟
  //替换方案 NALLinux联盟
   NALLinux联盟
  bool ok = IsEverythingOK(); NALLinux联盟
   NALLinux联盟
  if (ok) NALLinux联盟
   NALLinux联盟
  {…} NALLinux联盟
   NALLinux联盟
  31. 总是使用基于0开始的数组。 NALLinux联盟
   NALLinux联盟
  32. 在循环中总是显式的初始化引用类型的数组。 NALLinux联盟
   NALLinux联盟
  public class MyClass NALLinux联盟
   NALLinux联盟
  {} NALLinux联盟
   NALLinux联盟
  MyClass[] array = new MyClass[100]; NALLinux联盟
   NALLinux联盟
  for(int index = 0; index < array.Length; index++) NALLinux联盟
   NALLinux联盟
  { NALLinux联盟
   NALLinux联盟
   array[index] = new MyClass(); NALLinux联盟
   NALLinux联盟
  } NALLinux联盟
   NALLinux联盟
  33. 不要提供public 和 protected的成员变量,使用属性代替他们。 NALLinux联盟
   NALLinux联盟
  34. 避免在继承中使用new而使用override替换。 NALLinux联盟
   NALLinux联盟
  35. 在不是sealed的类中总是将public 和 protected的方法标记成virtual的。 NALLinux联盟
   NALLinux联盟
  36. 除非使用interop(COM+ 或其他的dll)代码否则不要使用不安全的代码(unsafe code)。 NALLinux联盟
   NALLinux联盟
  37. 避免显示的转换,使用as操作符进行兼容类型的转换。 NALLinux联盟
   NALLinux联盟
  Dog dog = new GermanShepherd(); NALLinux联盟
   NALLinux联盟
  GermanShepherd shepherd = dog as GermanShepherd; NALLinux联盟
   NALLinux联盟
  if (shepherd != null ) NALLinux联盟
   NALLinux联盟
  {…} NALLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息