`

重构的勇气

 
阅读更多

最近看到组内的开发同学有一种倾向,不敢也不愿重构,喜欢贴膏药或者另起炉灶再搞一套。分析和猜测下原因如下:

1,这是历史代码和历史原因,不归我管;

2,原来这块业务我不了解,重构有风险,不如贴下膏药,又快又安全;

3,原来的代码搞的太复杂了,再独立搞一套,既有成就感又不用去理原来的逻辑;

4,我的目标是完成需求,重构的事做不做无所谓

5,进度紧,来不及重构。

对修改原有代码有强烈的恐惧,对4PL的订单的主干流程完全不敢动,有时你静下心来,甚至能听到4PL在不断腐烂的声音。

 

为什么要重构?

martin fowler的《重构》这本书里讲的已非常清楚了。我这边只从我们的实际情况来说下,作为互联网公司,我们做的产品是不断变化,不断完善和调整的;相应的,我们的技术架构和设计,肯定也要不断的变化和调整来适合新的业务和需求。去年9月,我们的产品刚上线,Web和Task还是一个war,任务执行间有干扰,订单得不到良好的监控,但是重要的是,当时的系统能完成当前的邀请;慢慢的随着业务的发展,我们web,task分离了,订单流程又进行了一次大重构,良监控、监控面板上线,任务框架上线,历史订单归档等;到现在结算应用上线,开发平台也即将上线,干仓库体系。

 

我想当初设计的很多方面,4PL的各个模块的架构和设计都面临挑战,站在当前时间点,我想我们没有理由和权利去责怪当初为什么没考虑到,我们能做的拿出勇气,去不断重构和升级,让系统能健康和良好的发展。

 

关于重构的时机

 

重构是一个常态,在需求和项目过程中,如果当前的设计不能很好和很自然的添加你的功能时,建议你先重构掉原有的代码,再添加新的代码。

 

系统不下线,重构不停止。

 

 

重构需要勇气

光抱怨是没用的,需要鼓起勇气去面对重构。好的Coder敢于直面腐烂的代码。加油!

 

 

分享到:
评论
3 楼 793059909 2014-07-25  
重构还需要团队的氛围。
2 楼 draem0507 2013-09-23  
好的Coder敢于直面腐烂的代码。赞一个
1 楼 baowp 2012-08-29  
顶!

相关推荐

    做优秀的程序员:重构的勇气

    因为我们有很多最初规划的时候没有想到的事情,比如说在网站或者软件规模小的时候,我们并没有考虑到国际化,但随着发展,我们走出亚洲奔向世界了,这个时候我们需要全世界的人来用我们的产品,这个时候就需要重构了...

    《重构-改善既有代码的设计》电子书以及总结的书中源码

    重构是一个持续的过程,需要开发者有敏锐的洞察力去识别代码的潜在问题,并有勇气和耐心去逐步改进。通过学习和实践《重构-改善既有代码的设计》,你可以提升自己的编程技能,为团队的软件开发带来显著的改善。记住...

    成大事只要一点勇气

    勇敢地深入探索,尝试各种解决方案,甚至重构代码,都是技术人才必备的品质。这种勇气能帮助他们克服恐惧,勇于面对未知,从而找到问题的根源并找到最佳解答。 再者,勇气在推动团队创新中起到关键作用。在IT团队中...

    CSDN 12月论坛TOP 10.pdf

    重构的过程应该有勇气放弃或者继续,而不能停在原地;重构不是万能的,但是不重构是危险的。 JavaScript的内存释放实验 JavaScript的内存释放可以通过将不再使用的变量设为null,系统的性能确实有提高。 有关查询...

    Java极限编程_src源码源码整理

    - XP的四大价值观:沟通、简单、反馈、勇气。 - XP的十二个实践:小发布、持续集成、重构、结对编程、计划游戏、测试先行、编码标准、单一责任原则、工作软件作为进度的度量、欢迎改变、保持简朴、YAGNI(你不会...

    敏捷开发XP

    在XP框架下,团队需要具备足够的勇气去拥抱变化,不断试验新的方法和技术,同时也需要有足够的勇气去承认错误并从中学习。 **5. 谦逊** 除了上述四大价值观外,XP还提倡一种谦逊的态度。这意味着团队成员应该保持...

    Extreme Programming

    8. **技术勇气**:XP鼓励团队勇于面对技术挑战,敢于尝试新的解决方案,同时也勇于承认错误并迅速纠正。 9. **集体所有权**:所有团队成员都可以修改任何代码,这促进了代码的共享和理解,也使得团队能够更快地响应...

    《敏捷编程XP》WORD文档

    4. **勇气**:面对错误时,要有勇气重构和改变方向,确保项目始终保持正确的轨道。 5. **谦逊**:承认自己的局限性,尊重所有项目参与者的专业知识和贡献。 **敏捷建模原则** 1. **主张简单**:选择最简单的解决...

    敏捷开发

    勇气鼓励开发者在面对错误时勇于重构和调整方向;谦逊则强调每个人都能为项目贡献价值,尊重团队成员和利益相关者的专业知识。 敏捷开发遵循一系列原则,如主张简单,强调找到最简单的解决方案,避免过度设计和过度...

    java极限编程

    1. **极限编程核心价值观**:XP的核心价值观包括沟通、简单、勇气和尊重。这四个价值观是整个开发过程的基础,旨在促进团队成员间的有效交流,保持代码简洁,鼓励面对挑战,以及尊重团队成员和客户的决策。 2. **...

    重构电影应用程序使用上下文

    Create React App入门 该项目是通过。 可用脚本 在项目目录中,可以运行: yarn start 在开发模式下运行应用程序。 打开在浏览器中查看。 如果进行编辑,页面将重新加载。 您还将在控制台中看到任何棉绒错误。...

    解析极限编程:拥抱变化(原书第2版)

    极限编程(eXtreme Programming,简称XP)是一种敏捷软件开发方法,它由肯特·贝克(Kent Beck)在1996年提出,目的是通过促进软件开发中的交流、简单性、反馈和勇气来改善软件质量。XP强调客户合作、团队工作、持续...

    极限编程资料大全

    XP的核心原则包括客户满意度、可持续进步、简单性、勇气和尊重。以下是对压缩包内各文件所涵盖知识点的详细说明: 1. **测试驱动开发(TDD)+by+Example.pdf** 测试驱动开发是一种编程实践,要求开发者在编写功能...

    解析极限编程拥抱变化

    XP的核心原则包括沟通、简单、勇气和尊重,旨在帮助团队在不断变化的需求环境中高效地工作。 在极限编程中,有几个关键实践值得深入理解: 1. **客户参与**:XP强调与客户或产品所有者的紧密合作,确保需求得到...

    皇帝的新装.doc

    ”这样的问题能够引导学生思考道德勇气和社会责任感的重要性。 教学目标的重构还体现在对心理描写和结构特点的深入分析。《皇帝的新装》中三次看新装的情节,是心理描写艺术的典范,通过这些描写,作者巧妙地展现了...

    极限编程XP---高手入门

    勇气来源于对简单设计和持续重构的信念,这使得团队能够在必要时快速调整方向。 5. **尊重**:XP强调团队成员之间的相互尊重,每个人都被认为是不可或缺的贡献者。尊重还包括尊重客户的意愿,及时响应他们的需求...

    极限编程在计算机本科毕业设计中的应用

    这种开发模式以简单性、沟通、反馈和勇气为基本原则。 #### 二、极限编程的特点与优势 1. **强调快速迭代**:XP鼓励通过一系列短周期的迭代开发,使得开发者能够及时地看到成果,并根据用户的反馈进行调整。 2. ...

    [解析极限编程:拥抱变化(原书第2版)

    5. **重构**:通过定期进行代码重构,保持代码的整洁和模块化,使系统更易于理解和维护。 6. **结对编程**:两个程序员共享一个工作台,交替编写和审查代码,可以提高代码质量,减少错误,并促进知识共享。 7. **...

    Netflix文化:自由与责任(中文版)宣贯.pptx

    创新价值观是指员工能够重构概念,以找出难题的特别解决之道。这是通过员工的创新能力和解决问题的能力来体现的。 勇气价值观是指员工能够毫无痛苦地作出艰难决定,能够明智地冒险,并且能够质疑和我们价值观不一的...

    2021最新老人与海读后感5篇___精选.docx

    我们可能需要阅读大量的文档,尝试不同的方法,甚至重构代码,但只要我们坚持不懈,总能找到问题的答案。正如老人所说:“一个人并不是天生就要被战胜的,你尽可以毁灭他,却打不败他。”在编程中,我们也要有这样的...

Global site tag (gtag.js) - Google Analytics