| 网站首页 | 技术中心 | 英语在线 | 下载中心 | 启天合租 | 网址站 | 笑话屋 | Java培训 | 启天论坛 | 
您现在的位置: 启天网 >> 技术中心 >> .net >> 文章正文
分享,讨论Programming的习惯            【字体:
分享,讨论Programming的习惯
作者:未知    文章来源:转载    点击数:    更新时间:2008-5-3
     1//写这篇文章的目的主要是和大家分享编程的习惯,如果有不对的欢迎大家支出,如果有更好的习惯方法也请提出来。
   2//当然文章还有许多的疏漏支出欢迎大家补全,真正做到完备!
   3
   4
   5//大小写规范:
   6//命名空间,类,结构体,方法名,属性名,static常量,每个单词首字母大写,接口以I开头,并且首字母大写如IDispose;const常量全部字母大写
   7//字段名每个单词首字母小写
   8
   9//起名规范以及理解:
  10//命名空间:公司+项目+包
  11//类,属性,字段,结构体:名词或者名词性词组(因为描述的是一类实体或者实体属性或者数据),类代表对事物的抽象,他自身有自己的属性和行为,
  12//例如人有自己的名字年龄等信息,同时能够说话,走路。结构体主要是对数据的一种组织。
  13//方法,接口:动词或者动词词组(描述的是行为,即CAN-DO)
  14
  15//字段,方法,属性,类等的名字要充分表达出他们自己的功能,能够让代码阅读者不需要看注释就能够知道她的意思,
  16//尽量不要缩写,毕竟无论名字多长编译器会帮助你做转化工作,当然也不要太长。呵呵,过尤不及么!
  17//例如:数据库连接sqlConnectionString与mysqlConnectionString表达出他们是连接字符串,sqlConnection与mysqlConnection表达出他们是连接对象
  18namespace CodeRule
  19{
  20 public class TestShow
  21 {
  22 //错误的习惯,不应该把内部字段暴露给其它对象,一是不符合规范,二是暴露实现细节
  23 public string name;
  24
  25 //正确的习惯
  26 private object aobject;
  27 /**//// <summary>
  28 /// 正确的方法,字段内部使用,其他对象只能通过属性来访问,不知道具体实现细节。当然如果属性是只有子类可见就应该把Public改为protected
  29 /// 如果是只读的就应该把Set去掉,我们不应该把暴露扩大化。
  30 /// </summary>
  31 private string name; // private int justToCompare 该处也返回Name,同样的功能,不同的内部实现,相同的访问方法
  32 public string Name // public string Name
  33 { // {
  34 get { return name; } // get{return justToCompare.ToString();}
  35 set { name = value; } // set{justToCompare=Convert.ToInt32(value);}
  36 } // }
  37
  38 //错误的习惯,既然通过属性可以进行Name的读写了,就不应该再提供方法对其的读写操作;二者可以选择其一,不过C#中主要通过属性,Java用方法的居多。
  39 public string GetName()
  40 {
  41 return name;
  42 }
  43 public void SetName(string name)
  44 {
  45 return name = name;
  46 }
  47
  48 //有的参数不能为空哪么就应该检查之,我们假设下面的aobject不能为空,哪么下面的习惯就是错误的,
  49 //我们应该先检查aobject在它为空的时候做一些处理,然后再执行其它操作,对于属性也是如此
  50 public void SetObject(object aobject)
  51 {
  52 this.aobject=aobject;
  53 }
  54 }
  55}
  56//其它:对于自定义集合类要实现IEnumerable接口,自定义事件以Handler结尾,自定义异常以Exception结尾,
  57//要实现IDisposable接口,及时释放资源希望大家可以共同分享编程的经验习惯,提高水平。谢谢!  
文章录入:junsan    责任编辑:junsan 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    初尝Deep Zoom Composer
    可扩展的文件同步设计
    QuickGUI编辑器系列---从文件…
    介绍WS Federaion 二:把百度…
    代码着色--关于循环与分组
    My97日期控件 My97 DatePick…
    介绍 WS-Federation 一: 让…
    将特定格式的TXT数据文件写入…
    WPF里的DependencyProperty(…
    编程游戏:划拳机器人比赛
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)