重构的一点体会

  这几天在重构系统,用四个字形容我的心情就是“吐血而亡”,其实只是因为权限控制的细化,导致大量地方需要修改(原先比较混乱),索性重构这部分功能,如果整个系统重构,估计会让我疯狂的。还不如推倒重写舒服。可见重构动作不宜过大,应该小步小步、日积月累的不断重构。现在回过头来体会《重构—改善既有代码设计》这本书的知识点,觉得作者的一系列观点真是切入要害。 系统开发、维护本来就要时时重构,但是如果一个系统要重构的地方相当多、重构动作大的时候,说明这个系统已经问题重重了,也反映了系统架构不到位,前期没有合理的重构。就像一位病重的病人了。这时要做的就是“下猛药”或是完全抛弃它。 如果把系统类比成人的话,随着时间推移,系统需要不断扩充它的功能,体现它的价值,但是呢,它有可能生病,有可能是外因或内因导致,如果这时候定期做体检(代码Review,代码审查),把小病治愈的话(系统重构),那么它的寿命也就能延长(系统的生命周期延长),但是如果患上各种小病,而且病情持续恶化的话,这个时候如果来医治(重构)的话,药物治疗的功效就要打折扣了,因为可能这个药会影响其它病情,自然医治困难了。

时间: 2024-09-25 11:11:43

重构的一点体会的相关文章

【原创】C#玩高频数字彩快3的一点体会

购彩风险非常高,本人纯属很久以前对数字高频彩的一点研究.目前已经远离数字彩,重点研究足球篮球比赛资料库和赛果预测. 这是一篇在草稿箱保存了1年多的文章,一直没发现,顺便修改修改分享给大家.以后会有更多关于足球和篮球体育彩票的玩法分析,希望大家关注. 本人不算专业程序员,但经常敲代码玩玩.上学时研究的是伪随机数这个东东,因此对彩票就情有独钟,从10年开始,就开始研究双色球,其中软件版本改了又改,但一直没有实际操作过,原因就是双色球的投注量太大.所以这1年多就没研究了.最近一次偶然的机会,发现了"高

关于项目管理的一点体会

"1人100个月完成的项目,不是100个人1个月就可以完成." 项目管理是让项目活动中相互竞争的各类制约因素:质量.进度.资源.风险等取得平衡的艺术,同时也是平衡项目干系人的各种需要.关注和期望,带领不同的人朝着相同目标迈进的领导艺术. 成功的项目管理可以简单理解为:按时.在预算内+满足产品需求+满足质量需求 地完成项目. 以下是我对项目管理的一点体会记录. 需求等级 视觉 A:图片没有分享功能吗? 技术 K:图片有链接转发分享.微博或邮件形式分享等多种分享,全部开发的话需要推延时间表

关于建设行业技术论坛的一点体会

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 行业技术论坛不同于一般的娱乐性.地方性生活论坛,它的特点是: 1. 会员大部分都来自同一个行业. 2. 论坛的主要功能是提供技术交流的平台. 我们几个志通道和的朋友在业余的时间创办了橡塑与弹性体论坛,从2007年到现在,尽管论坛发展的还不是很大,但这几年在建论坛的过程中,还是有不少的收获,其中关于建设行业技术论坛的一点体会,现在拿出来和大家分

功能多并不一定受欢迎 做商业产品的一点体会

中介交易 SEO诊断 淘宝客 云主机 技术大厅 很多人问我是不是做电子商务或社会化网络的,呵呵,还真不是,而且完全不搭边.我是做商业产品的,做的是平台项目,性质偏向于整合和贯通.所以常羡慕做用户产品的同学,能更多的关注用户体验.交互设计,有机会使用自己设计的产品,可以听到周围最真实的反馈.商业产品则功利和直接许多,关注的也不大相同,今天就简单的说说工作体会吧. 1. 做什么比不做什么更重要 商业产品的目标很明确,要么帮公司赚钱,要么帮公司省钱,或者更快更好地赚钱省钱.赚钱的点其实就那么一两个,其

我学习使用java的一点体会

2002年初,因为公司的业务需要而学习java,并应用java开发项目.由于项目时间紧,没有充裕的时间系统学习java,对java的学习只能是项目需要用什么,就学什么,这种学习方法的上手快,但不扎实,在以后的工作中,因为java学的不扎实,吃了不少苦头.现在我学习应用java已经有一年半的时间,对java已经有了一定的体会,把自己的体会写出来,供网友分享. 以我个人的经验,学习java应分以下几个阶段: java的语法学习 面向对象观念的建立 java基本类库的学习 学习设计模式 应用设计模式

多线程程序操作共享区域(文件)的一点体会

     最近比较忙,很久没有写博客了,持续长时间的编程,使得我完全沦为程序匠人.但是感觉却不是想别人那么糟糕,毕业已经快两年了,我为我的编程兴趣仍然如此强烈而感到欣慰,也对一直以来比较关心的"行业应用软件架构设计"有了更深的了解,这坚定了我的信念!      今天晚上,终于有了一点点闲暇的时间,就想大家分享下"多线程程序操作共享区域(文件)"的一些体会吧!        多线程相信大家都陌生吧,多线程程序操作共享区域应该也不陌生吧,但是大家是否经历过多CPU的服务

脚本改进的一点体会(r12笔记第60天)

   一直以来我们想要推进内部的自动化系统,但是总是会遇到各种各样具体的问题,有时候我们准备好了,但是总是会有一些因素的干扰,再加上工作时间的安排,有些事情就一拖再拖.<人民的名义>里说得好,打铁还需自身硬,不管是谁说的,这个话是有道理的.所以不能指望平台或者系统把我们的工作全都能够做好,我们也需要完善不少的东西.   我举个简单的例子,一直以来我们以为业务需要总是会有一些导数据的需求,用到的就是SQL*Loader,记得刚开始接触这个线上系统的时候,是一个小机环境,也听之前的同事分享过一些经

艾伟也谈项目管理,关于项目管理的一点体会

这段时间,一直在负责一个项目的管理与开发.在时间短.任务紧,而团队人员又大部分是没有经验的菜鸟的恶劣情况下,我带领接近40人的团队,终于在客户规定的时间范围内如期交付产品.这其中,经历了需求变更.人员变动(因为其它任务,先后有近10人离开团队)等诸多问题,项目仍然取得成功了,不能不说有几分侥幸,但此外也有一些经验与教训可以与大家分享. 一.项目开发方面 需求 项目应以需求为核心.一个项目是否能够成功,对需求的准确把握在成功因素中要占上60%的比例.不管系统的架构设计.团队管理有多么的成功,如果需

使用ASP.NET中的一点体会[关于代码分离]

asp.net|代码分离     最近在进行项目开发中,经常会遇到这种情况,就是当用户点击页面上的Button时,系统需要弹出一个窗口.这个窗口可能是标准对话框,也可能是一个新的页面.开始的时候我不知道如何实现这样的功能,按照我以前的编程习惯,我认为应该有一个类似于ShowMessage的方法,但是,可惜这种方法在WEB下是没有的.通过在网上查阅资料,发现一般的做法是在Button的OnClick事件中写下如下代码:   private void Button1_Click(object sen