让你的代码变优雅

总结中,希望各位大虾指点

1)    使用强类型的资源文件

不使用资源文件
        ShowMessage(“没有执行”+ privilegeName +”的权限”);
    使用强类型的资源文件
        ShowMessage(SR.NotHavePrivilege(privilegeName));

2)    尽量避免使用Copy/Paste

  • 将重复的代码抽象成方法,将功能关联的方法组织成类
  • 为同一方法提供多种重载,让一些重载调用另外一些重载
  • 恰当的使用外观(Facade)模式,避免让类库的使用者同过于细粒度的对象打交道,比如说用户希望这样调用:

Bank.Transfer(A,B,100);

而不是调用:

A. Decrease(100);
B. Increase(
100);
Log.Write(“转帐成功!”);

3)    避免过于庞大的方法和过于庞大的类

保持方法和类的职责单一性,将有代码注释的地方用Extract Method抽出来形成单独的方法。
    尤其是非常长的
try..catch..让人非常厌恶
    比如      
      


void
 Work()
{
    
try
    {
        
//网络操作
        
//文件操作
        
//数据库操作
    }
    
catch(NetException)
    {
    }
    
catch(IOException ex)
    {
    }
    
catch(SqlException ex)
    {
    }
}


应该重构成

void
 Work()
{
    
try
    {
        DoWork();
    }
    
catch(Exception ex)
    {
        ExceptionHandler.HandleException(ex);
    }
}

void DoWork()
{
    DoNetWork();
    DoFileWork();
    DoDbWork();
}

void DoNetWork()
{
    
//网络操作
}

void DoFileWork()
{
    
//文件操作
}

void DoDbWork()
{
    
//数据库操作
}

4)    遵从一些良好的习惯

  • 使用 String.Format 来格式化字符串,而不是用 + 的形式
  • 将功能关系密切的代码用 region 折叠
  • 遵从标准的编码规范(冬冬
  • 泛型代替弱类型 (冬冬
  • 用String.isNullOrEmpty()代替String(冬冬
  • 给DataSet和DataTable起名字(冬冬

 

posted @ 2006-01-11 20:57  quitgame  阅读(2241)  评论(11编辑  收藏  举报