返回 首页

精简自己 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

{

    

本站推荐

猜你喜欢

相关文章

不懂编程语言的运维人员还能走多远?

不懂编程语言的运维人员还能走多远?

不懂编程语言的运维人员还能走多远?

SQL Server 2000 非1433端口的客户端连接方法

SQL Server 2000 非1433端口的客户端连接方法

SQL Server 2000 非1433端口的客户端连接方法

安装CDR X5时找不到ShellExt.msi

安装CDR X5时找不到ShellExt.msi

安装CDR X5时找不到ShellExt.msi

socket实现手机连接网络打印机打印pos单

socket实现手机连接网络打印机打印pos单

socket实现手机连接网络打印机打印pos单

win10系统自带浏览器影响数字证书验证

win10系统自带浏览器影响数字证书验证

win10系统自带浏览器影响数字证书验证

专家教你如何通过微信号知道对方微信的二维码?

专家教你如何通过微信号知道对方微信的二维码?

专家教你如何通过微信号知道对方微信的二维码?

解读沙盒技术的收益与风险

解读沙盒技术的收益与风险

解读沙盒技术的收益与风险

Mysql基于FEDERATED存储引擎的远程表使用

Mysql基于FEDERATED存储引擎的远程表使用

Mysql基于FEDERATED存储引擎的远程表使用

photoshop渐变中如何渐变成透明色

photoshop渐变中如何渐变成透明色

photoshop渐变中如何渐变成透明色

有图有对比!125个提升网页可用性的优化小技巧(四)

有图有对比!125个提升网页可用性的优化小技巧(四)

有图有对比!125个提升网页可用性的优化小技巧(四)

精简自己 20% 的代码

精简自己 20% 的代码

精简自己 20% 的代码

FastReport 中预览窗体设置按钮显示

FastReport 中预览窗体设置按钮显示

FastReport 中预览窗体设置按钮显示

浏览器 User-Agent 字符串的故事

浏览器 User-Agent 字符串的故事

浏览器 User-Agent 字符串的故事

photoshop怎么给文字加白色边框

photoshop怎么给文字加白色边框

photoshop怎么给文字加白色边框