重构-使代码更简洁优美:实际经验之谈(提供一技巧,让你省掉N多代码)

简介:

这几天没怎么写文,因为在用 CYQ.Data  框架 重构以前的一个博客源码,而在重构的过程中,最关键的就是简化代码了。

 

今天,我将说一个很典型的示例,看完本示例后,不要惊讶,不要怀疑,它不是神马,也不是浮云,

 

而是很实在的一种方式,能让你节省了N多的代码,让你的代码看起来更简洁优美。

 

而这里说的一个很典型的示例,是从我目前重构中的博客中应用而来的:

 

一:正常的开发方式

 

1:扫一眼当前的项目解决方案

 

2:说说Module库

一般我们很常见的会有一个页面基类,当然各花叫法不同,有人常叫"PageBase",这里叫HttpCustom,如下图

 

3:页面基类大体内容

对于基类,我们通过会封装很多常见的属性和方法,方便各个页面调用起来爽一些,如下图

 

4:页面继承基类

在写完基类后,基本就是页面继承了,然后我们可以很方便的拿到各个属性值,如下图

 

5:复杂业务逻辑,我们扔到逻辑项目Logic中去处理

于是我们封装很多方法,由于无法直接拿到基类的属性,我们只好写着如下的方法,方法中加很多的参数,让页面一个一个的传过来。

 

6:接着我们页面调用

我们感觉调用起来很轻松,页面只管调用,我们一个一个的把参数传过去,页面代码简洁许多,并相当的满足还略带点成就感。

 

 

好了,说到这里,大伙都想想了,平常是不是这么干过来的?你对你代码的简洁度相当的满足了?

让你折腾,能不能再简洁些? 

 

想啊想啊想啊想.....想啊想啊想啊想.....想到神马和浮云?

等你看完以下内容,上面曾经神马般的的代码都是浮云,都是浮云!!!

 

二:重构-使代码更简洁优美

 

复制代码
在重构那天晚上,当我看到这种代码时,我的第一感觉就是,如何在Logic项目中取到HttpCustom基类的参数

只要能做到,这样Logic逻辑类的方法可以省略N个参数,对于页面来说,也可以少传N个参数
 
一批的页面调用+一批的逻辑类,都省的话那是多大的省啊,大伙用力的想,使劲的想,骑着神马一起想
 
只要能省掉这一大批参数,一切将看起来更美好,于是开始想呀想~~~
复制代码

 

1:找抽型想法 

不知有没有人会一开始有这样的想法:比如让LogicAction也继承自基类HttpCustom,这样就也可以使用其中的属性和方法了。

你Y的这样像HttpContext等对象到何处索球?等着被NULL值华丽附体抛黄页?

 

2:从找抽型想法中挖想法

虽然1的想法很找抽,不过找抽的想法往往也是方向。

同样是继承自基类,不过不是继承之前的HttpCustom,而是新的抽象基类。

而新的基类要如何和HttpCustom关联?或者简单说是怎么从HttpCustom中取值?

 

3:重构,从HttpCustom提取接口

a:选中HttpCustom页面基类,右键-》重构->提取接口

 

b:接着选择常用属性

 

 

确定之后HttpCustom自动继承自IHttpCustom并生成IHttpCustom文件。

 

4:新建抽象基类LogicBase并继承接口IHttpCustom

当然实现接口就是一堆的Get与Set了

 

 

5:顺理让LogicAction继承LogicBase

OK了,可以从基类拿参数数据了,方法参数简洁了许多了,隐掉了N多的参数传参,对比下上面的LogicAction类的图片,看看代码有多简洁~~

 

 

6:利用接口互递传参

在基类HttpCustom中,我们新增加一个方法:SetInit,如下图

 

 

7:页面最终调用效果

比较下和之前的页面调用,完全不用传递传参,敲起代码来多省心省力~

 

 

当然你也可以反过来装载,在LogicBase时的构造函数增加IHttpCustom传入。

最终实现页面如下调用:

 

 

结言:

一个经意的重构,让我们省掉了大批原始参数的传入与传出,回头看看自己曾经的业务逻辑代码,是不是一大批同样的参数在穿索其中~~~

~一切只想让代码更简洁,看起来更优美,于是为之想了很多很多~~~

 

 

 

是不是有一种感觉,想说,却隐隐说不出来~于是留言:我很激动,可是说不出来~很想骑着神马在浮云中~~

 

 

版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:

http://www.cnblogs.com/cyq1162/archive/2010/10/19/1855441.html

相关文章
|
设计模式 算法 Java
设计模式第十五讲:重构 - 改善既有代码的设计(下)
设计模式第十五讲:重构 - 改善既有代码的设计
285 0
|
13天前
|
前端开发 JavaScript 开发者
前端开发的终极技巧:如何让你的代码既简洁又高效,还能减少bug?
【10月更文挑战第30天】前端开发充满挑战与创新,如何编写简洁高效且少bug的代码是开发者关注的重点。本文介绍五大技巧:1. 模块化,提高代码复用性;2. 组件化,降低代码耦合度;3. 使用现代框架,提高开发效率;4. 统一代码规范,降低沟通成本;5. 利用工具,优化代码质量。掌握这些技巧,让前端开发更高效。
29 1
|
3月前
|
Java Android开发
Android项目架构设计问题之要提升代码的可读性和管理性如何解决
Android项目架构设计问题之要提升代码的可读性和管理性如何解决
38 0
|
5月前
|
算法 安全 编译器
【简洁的代码永远不会掩盖设计者的意图】如何写出规范整洁的代码
【简洁的代码永远不会掩盖设计者的意图】如何写出规范整洁的代码
52 1
|
6月前
|
前端开发 测试技术
代码注释怎么写:让你的代码更易维护
在编程中,有一种无声的艺术,那就是代码注释。这可能看起来微不足道,但其实非常关键。它不仅有助于他人理解你的代码,也是自我表达的一种方式。
|
设计模式 Java 测试技术
设计模式第十五讲:重构 - 改善既有代码的设计(上)
设计模式第十五讲:重构 - 改善既有代码的设计
319 0
|
人工智能 自然语言处理 Java
提高代码可读性的秘诀:注释的重要性
A:你写代码怎么连注释都不加? B:老大为什么要加注释? A:你不加注释,你怎么知道我能看懂你的代码? B:遇到问题你找到就可以了啊? A:那你哪天生病了请假了闹情绪了离职了,公司怎么办? B:我现在反正没觉得有什么问题,我对公司也很满意,安心啦! 又是00后整顿职场的一段精彩演绎。不可置否,在实际的软件开发过程中,确实有很多开发人员依然不愿意写注释认为这会浪费时间,或者自认为他们的代码足够清晰,不需要额外的解释。但这种想法too young too simple,代码注释对于项目的质量和效率有着深远的影响,在软件开发中的重要性不容小觑。
|
开发者
重构的核心-让代码保持整洁
很久之前团队师兄向我推荐了《重构:改善既有代码的设计》这本书,粗略翻阅看到很多重构的细节技巧,但当时还处于未接触过工程代码,只关注代码功能,不太考虑后期维护的阶段,读起来觉得枯燥无味,几乎没有共鸣,一直没有细细阅读。在工作一年后,终于在师兄的督促下,利用一个月左右的早起时光读完了这本书,收获很多,感谢师兄的督促,感谢这本书陪伴我找回了阅读习惯。把这本书推荐给已经接触了工程代码、工作一年左右的新同学,相信有了一定的经验积累,再结合日常项目实践中遇到的问题,对这本书的内容会有很多自己的思考感悟
40593 4
重构的核心-让代码保持整洁
|
程序员 测试技术
《重构2》第十章-简化条件逻辑
《重构2》第十章-简化条件逻辑
340 0
|
C语言 芯片 异构计算
如何写出易于维护的Verilog代码?
如何写出易于维护的Verilog代码?
190 0
如何写出易于维护的Verilog代码?