做了2次代码评审,Java和.Net都做了大约3个小时。最大的收获就是将调度方法与原子操作方法区分开。

 

调度方法一般就是根据不同情况,调用别的方法来实现某个功能的方法。

调度方法体现的是流程。

原子操作方法,一般就是功能单一,只完成一个简单功能的方法,他将被调度方法调度。

原子方法体现的就是原子操作。

 

这两个方法的有效区分是提高代码质量的重要手段。

当我们开始重视代码质量的时候,定义了很多规则,如:变量命名,常量定义等等。

这些规则应该是开发人员必须遵守的最基本的要求,这些规则是可以通过某些辅助检查工具来进行检查。这些规则执行好了,所带来的是代码的可阅读性增加了,可维护性增加了。

但这些规则过于细致,本身不会带来代码的质的飞跃。

我们需要在此基础上更好的思考代码的规则,整理高粒度的代码规则,从而带来质的飞跃。

让我们看看下面的例子。

 

//这个是调度方法    
private  CollectionTableValue  SaveValue(CollectionTableData data)
{

   //这里通过.Net和Java提供的重构功能就能生成这个原子方法的stub 方法

//如果值已经存在则获取
CollectionTableValue objCTValue=GetFiledValue(data);

      if(objCTValue!=null)
      {

  //更新已经存在的值
          objCTValue=UpdateExistVaue(objCTValue);
      }   
     else
      {

//创建一个新值
   objCTValue=CreateNewValue(data);
      }
     return objCTValue;
}

//这些都是原子方法

//这些都是自动生成的方法

private CollectionTableValue GetFiledValue((CollectionTableData data)
{
 return null;
}

//这些都是自动生成的方法

private CollectionTableValue UpdateExistVaue(CollectionTableValue  objCTValue  )
{
      return objCTValue;
}

//这些都是自动生成的方法

private CollectionTableValue CreateNewValue(CollectionTableData  data  )
{
    CollectionTableValue objCTValue=new CollectionTableValue();
      return objCTValue;
}

如果我们再增加:

分层要求:某一层就是处理对数据操作的,增、删除、修改、查询的方法

某一层就是处理业务逻辑

某一层是对外代理

 

优雅的结构加上优雅的代码,那我们的质量一定会突飞猛进。最主要的是,我们可以节省非常多的调试时间、为提高质量而进行的冗长的质量工作,大量的降低成本。

开发人员的能力也将得到质的提高。

开发人员也不用加班,因为代码质量提高了,自然就时间多了。可以看书、锻炼等等。

质量人员轻松了,因为质量提高了,没用的检查表少了。

项目成本降低了,项目经理的日子好过了。

公司利润提高了,大家收入就要涨了。(真美啊:) )

 

 

 

 

 

 


文章来源:http://192.168.101.8/blog/040706/archive/2006/07/15/4595.html
posted on 2006-07-15 16:25  caidehui  阅读(369)  评论(0编辑  收藏  举报