精简自己 20% 的代码
2016-05-11 未来之窗软件服务
一:发现问题
先来说如何重构业务层的try{}catch{}finally{}代码块,我看过很多代码,异常处理这一块大致分为两种情况,一种是每个方法都大量的充斥着try{}catch{}finally{ },这种方式的编程已经考虑到了异常处理,还有一种就是没有try{ }catch{ }finally{ }的代码,因为根本就没有考虑代码的异常处理。
每当我看到这样的代码,我都很忧伤。从程序的健壮性来看第一种还是要比第二种情况好,至少在编程意识中,随时想到了异常情况,有一种基本的编程思想。比如:一个业务单据的多表插入,关联修改,虚拟删除等都是一些基本的操作,但是又是比较容易引起错误的操作,在这些方法上都会加上try{ }catch{ }finally{}对代码进行有效的防错处理。早期的代码是这样的。
publicBooleanSave(AccountModel accountData)
{
Booleanresult = false;
try
{
//TODO ...
result = true;
}
catch
{
}
finally
{
}
returnresult;
}
publicBooleanEdit(AccountModel accountData)
{
Booleanresult = false;
try
{
//TODO ...
result = true;
}
catch
{
}
finally
{
}
returnresult;
}
publicBooleanVirDelete(AccountModel accountData)
{
Booleanresult = false;
try
{
//TODO ...
result = true;
}
catch
{
}
finally
{
}
returnresult;
}
仅仅定义了添加,修改,删除几个空方法,就写了三四十行代码,如果业务稍微复杂些,异常处理的代码很快就会突破百行大关。虽然复制,粘贴try{}catch{}finally{}很好使,但是业务逻辑代码大量充斥着这样的try{}catch{}finally{}代码,确实显得做事不够利落。
二:解决问题
那怎样来解决这件棘手的事呢,首先定义一个公用的try{}catch{}finally{},如下如示:
publicclassProcess
{
本站推荐
猜你喜欢
相关文章
Android中Webview
Android中Webview
JavaScript 获取url参数 替换url参数
JavaScript 获取url参数 替换url参数
SQL Server 2000 非1433端口的客户端连接方法
SQL Server 2000 非1433端口的客户端连接方法
专家教你如何通过微信号知道对方微信的二维码?
专家教你如何通过微信号知道对方微信的二维码?
FastReport 中预览窗体设置按钮显示
FastReport 中预览窗体设置按钮显示
win10系统自带浏览器影响数字证书验证
win10系统自带浏览器影响数字证书验证
不懂编程语言的运维人员还能走多远?
不懂编程语言的运维人员还能走多远?
安装CDR X5时找不到ShellExt.msi
安装CDR X5时找不到ShellExt.msi
有图有对比!125个提升网页可用性的优化小技巧(四)
有图有对比!125个提升网页可用性的优化小技巧(四)
精简自己 20% 的代码
精简自己 20% 的代码
Mysql基于FEDERATED存储引擎的远程表使用
Mysql基于FEDERATED存储引擎的远程表使用
socket实现手机连接网络打印机打印pos单
socket实现手机连接网络打印机打印pos单
photoshop渐变中如何渐变成透明色
photoshop渐变中如何渐变成透明色