`
cantellow
  • 浏览: 842141 次
  • 性别: Icon_minigender_1
  • 来自: 草帽海贼团
社区版块
存档分类
最新评论

重构实践之一

阅读更多

昨天看了一下CSDN举办的SD2.0大会邀请的嘉宾,不得不说,确实阵容很强大,都是业界比较有名气的人,就小弟知道名有其人的,有JE的肉饼,翻译《深入java虚拟机》的曹晓刚,JE技术大牛李锟,《java夜未眠》作者蔡学镛等等。大会涉及软件开发的8个领域,我比较感兴趣的是架构和实践,或许我可以借此解决我工作中遇到的问题。

 

目前手上差不多有四个任务,其中2个是跟重构有关,一个是上面分给我的,一个是我主动要求的,我很感谢头儿分给我这么一个比较有趣而且有挑战性的任务,重构就是站在别人的肩膀上看问题,这不是一个简单的事情。虽然只是某一个小模块,但是我也满足了。小到一个变量,一个方法的重构,大到一个模块设计的重新架构,我都必须谨慎对待。我知道重构是一件神圣的事情,我更乐意叫维护人员为重构人员,软件的80%工作都是在维护和重构,在我看来,重构是大型软件企业急需的技能。

 

重构能力=企业持续的竞争力,这样说一点都不夸张,就拿我们公司来说,目前的项目组的架构已经不能够满足各个功能的修改,每一次小的变动都必须修改代码,每一次提交测试都会反馈大量的BUG,有几个模块因为当初设计的时候路线不对,现在修修补补了好多次还是有很多BUG。

 

拿一个我比较熟悉的任务来说,重构的需求,也是目标:

1.通用性(可复用性),头儿要求最好能够适用组内其他小项目,尽量将所有重复性的代码都写在一个地方集中管理,提炼出不同的业务逻辑,这一部分可以根据各个小项目自定义,不管是继承类也好,写在配置文件也好,只要将不变的和变化的分开,尽量做到代码层次的重用,业务逻辑层次的重用就好。

2.可维护性(可扩展性),模块必须满足目前面临业务逻辑所有可能的情况,意思就是说,在目前能够想到的业务逻辑变化时,尽量做到OCP原则,在我们头儿来看,OCP原则就是将业务逻辑变化之处写在配置文件中。

3.清晰性(架构优美),架构清晰,流程清晰,简单即是美,简单的问题,我们就不要把问题搞的太复杂,为了解决问题就不要把他演变成为了彰显自己的能力,过度设计就是这么一个例子。清晰性最好的解释就是,你的解决方案能够在评审会议上让大家欣然明白并接受。

4.可用性(用户体验性),如果不是GUI设计,那么我们这里主要强调的是性能的优化,性能的提升,包括战略上的,也有战术上的,战略上主要是在软件开发过程上的控制,包括了需求、设计、实现和测试的各个阶段的一些原则。战术部分则包含了Java各个技术环节的经验,包括I/O编程、内存对象、类加载的控制、如何使用Java对象、算法和数据结构、本地方法、Swing模型和渲染器、Swing线程模型以及部署等各方面的技术和方法,这些技术和方法可以帮助你极大提高Java应用程序的性能。

 

上面说的太笼统了,本来我是针对某一个任务来说的,但是思维发散到尽量使用所有的重构实践了,可能是平时设计方法和类的习惯,能够一般化,就尽量不要搞特殊。呵呵,不过有一句话时刻提醒着我,不要为了优化而优化,最后性能的优化,如果不是你的应用出现太大的性能问题时,你应该第一时间保持你的应用能够正确完成业务逻辑,减少BUG数量,然后再是可扩展性,可复用性,最后才是性能上的完美,还有架构和代码各个细节的完美。

分享到:
评论

相关推荐

    重构与模式2.pdf

     现在,在众所期盼之中,Joshua Kerievsky的《重构与模式》第一次深入和全面地论述了设计模式的运用与演进式的重构过程,并揭示了两者之间至关重要的联系,又一次革命性地改变了我们的设计方式。  本书阐述了模式...

    重构与模式 清晰.pdf

     现在,在众所期盼之中,joshua kerievsky的《重构与模式》第一次深入和全面地论述了设计模式的运用与演进式的重构过程,并揭示了两者之间至关重要的联系,又一次革命性地改变了我们的设计方式。  本书阐述了模式...

    31天代码重构速成 你必须知道的重构技巧

    简介 重构是持续改进代码的基础。抵制重构将带来技术麻烦:忘记代码片段的功能、创建无法测试的代码等等...本着这一精神,我将在明天发布第一篇帖子并开始长达31天的重构马拉松之旅。希望你们能够享受重构并 从中获益。

    重构与模式(Refactoring to patterns).part11.rar

    .. 现在,在众所期盼之中,Joshua Kerievsky的《重构与模式》第一次深入和全面地论述了设计模式的运用与演进式的重构过程,并揭示了两者之间至关重要的联系,又一次革命性地改变了我们的设计方式。 本书阐述了...

    重构与模式(Refactoring to patterns).part05.rar

    .. 现在,在众所期盼之中,Joshua Kerievsky的《重构与模式》第一次深入和全面地论述了设计模式的运用与演进式的重构过程,并揭示了两者之间至关重要的联系,又一次革命性地改变了我们的设计方式。 本书阐述了...

    ReactiveCocoa代码实践之-RAC网络请求重构

    ReactiveCocoa代码实践之-UI组件的RAC信号操作 ReactiveCocoa代码实践之-更多思考 前言 •RAC相比以往的开发模式主要有以下优点:提供了统一的消息传递机制;提供了多种奇妙且高效的信号操作方法;配合MVVM设计模式...

    软件工程实践之路

    本书是一本系统而全面地介绍软件工程理论、技术和实践的专著,是北美学术界和产业界的畅销书之一。本书作者Roger S.Pressman是软件工程领域国际知名的咨询专家和作者,著有多本学术专著,本书已是其第四版。本书第二...

    重构_改善既有代码的设计

    这《重构:改善既有代码的设计》之于重构就相当于韵谱之于作诗。一个翻着韵书作诗的诗人一定是蹩脚的...然而,在达到这一境界之前,需要不断的实践和经验积累,并且要先读读Fowler的这《重构:改善既有代码的设计》。”

    重构-改善既有代码的设计-熊节译

    这《重构:改善既有代码的设计》之于重构就相当于韵谱之于作诗。一个翻着韵书作诗的诗人一定是蹩脚的,但好...然而,在达到这一境界之前,需要不断的实践和经验积累,并且要先读读Fowler的这《重构:改善既有代码的设计》

    iOS遗留系统重构实践

    之所以能够把这种伤筋动骨的事情称之为重构,是因为在这段时间内,我们每天向主干合并两到三次代码,期间App上线五次,用户没有感知到任何影响。在这篇文章中,我将讲述我们如何在不影响系统外部行为,也不影响正常...

    重构_改善既有代码的设计[高清版]

    这《重构:改善既有代码的设计》之于重构就相当于韵谱之于作诗。一个翻着韵书作诗的诗人一定是蹩脚的,但...然而,在达到这一境界之前,需要不断的实践和经验积累,并且要先读读Fowler的这《重构:改善既有代码的设计》。

    重构与模式1.pdf

     现在,在众所期盼之中,Joshua Kerievsky的《重构与模式》第一次深入和全面地论述了设计模式的运用与演进式的重构过程,并揭示了两者之间至关重要的联系,又一次革命性地改变了我们的设计方式。  本书阐述了模式...

    重构 改善既有代码的设计

    《重构:改善既有代码的设计》清晰地揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法...

    重构:改善既有代码的设计

    然而,在达到这一境界之前,需要不断的实践和经验积累,并且要先读读Fowler的这《重构:改善既有代码的设计》。”  “一口气读完了这《重构:改善既有代码的设计》,感觉书中作者对代码的整理不像是一种技术,更像...

    重构与模式

     现在,在众所期盼之中,joshua kerievsky的《重构与模式》第一次深入和全面地论述了设计模式的运用与演进式的重构过程,并揭示了两者之间至关重要的联系,又一次革命性地改变了我们的设计方式。  本书阐述了模式...

    大型网站复杂业务持续重构之道——全程领域建模实践

    就象大家所听说过的那些神奇小子创业故事一样,几只从大西洋游回的海龟找到了一个伟大的idea——在互联网上开办在线商店销售宠物。幸亏的是他们找到了投资者而且发展的很不错。但是随着时间的推移,当初“完美”的...

    重构与模式(Refactoring to patterns).part12.rar

    .. 现在,在众所期盼之中,Joshua Kerievsky的《重构与模式》第一次深入和全面地论述了设计模式的运用与演进式的重构过程,并揭示了两者之间至关重要的联系,又一次革命性地改变了我们的设计方式。 本书阐述了...

Global site tag (gtag.js) - Google Analytics