做了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