
重构
zl1zl2zl3
这个作者很懒,什么都没留下…
展开
-
重构还是重写?
作者 | Ben Northrop策划 | Tina世上的大难题是什么?莎士比亚说:“生存还是毁灭,这是一个值得考虑的问题。”同样,对开发者来说,重构还是重写,也是一个值得考虑的问题。假设,我们有一个应用程序深陷技术债,已经严重过时。面对这种情况,我们需要了解最佳选项——是艰难地探索并进行重构,还是摧毁它进行重写,哪一种方式更有意义?让我们先解决一个“避而不谈”的问题:对任何需要改进的遗留应用程序,下一步的行动并非一个简单决定。我们会将选项定为重写或重构,但是,它们只是摆在我们面前一系列.转载 2020-09-26 09:12:27 · 2311 阅读 · 0 评论 -
银行祖传系统重构实例:创立12年,只支持Python 2,跑着500多个应用程序
作者 | THEHFTGUY、万佳提到遗留系统,你会想到什么? 还在使用 Java 5 的路过 JDK 1.6 的我不说啥了 很多坑 难维护 从零开始(重写) 盼着 IE 什么时候不再能使用 ...... 1 遗留系统对遗留系统,程序员们并不陌生。据维基百科介绍,遗留系统是一种旧的方法、旧的技术、旧的计算机系统或应用程序。张逸认为,遗留系统首先是一个还在运行和使用,但已步入软件生命周期衰老期的软件系统。它符合所谓的“奶牛规则”.转载 2020-08-20 13:45:18 · 317 阅读 · 0 评论 -
又臭又长!流着泪我也要把它给改完!
作者:橙味菌链接:juejin.im/post/5e11dd736fb9a047f42e61ad最近,在对已有项目进行扩展的时候,发现要改动的一个类它长900行,开放了近40个public接口,我流着泪把它给改完了。为了防止这样的惨剧再次发生在我的身上,我觉得有必要写一篇博客来让广大程序猿同胞知道代码重构的重要性。如果你身边有一个类写上千行的猿,一定要把此文转给ta为什么类不能过长?类过长:读不通,扩展不通 读不通 - 直接用滚轮滚都得好几秒,就算是原作者,时间长了恐..转载 2020-07-10 20:33:43 · 200 阅读 · 0 评论 -
最近项目重构的一些感想
1. 缘起最近,因为多个因素综合作用的情况下,我有幸得以负责一个项目的重构事项,并且时间/空间上都是相当宽松。而且由于系统较为复杂,需要对接多个业务开发部门,导致各种大需求小需求特别多,因此如果我代码设计得烂,那么我就要面临加班擦屁股的尴尬局面。这也导致了我不敢随意写烂代码,尽量避免各种『破窗效应』。因此想记录一些比较杂碎的感想,基本上是想到哪写到哪,不会注重文章的结构布局。2. 面向对象仍然是主流的设计风格这里要理解什么是面向对象,而不是去背教材中的『封装,继承,多态』。软件开发本来就是讲究实转载 2020-06-08 11:04:18 · 388 阅读 · 0 评论 -
重构,还是重写?(2020版)
Joel Spolsky (软件随想录作者)曾经写过一篇著名的文章, Things You Should Never Do (1),他在文章中断言,你永远不应该从头开始重写一个代码库。他举了 Netscape 公司的例子,他们花了好几年的时间重写软件,最终公司在这个过程中死亡。一年前,我重读了那篇文章,但还是选择了从头开始重写我们的应用,对,全部重写。以下介绍为什么这么做,我们是如何成功的,以及一些关于你是否也应该这么做的启发式分析。故事要从 2019 年 1 月说起。当时,Remesh 还是一家比现.转载 2020-06-05 12:32:52 · 855 阅读 · 0 评论 -
盘点 10 个代码重构的小技巧
本次我们抛开 JAVA 虚拟机源码这些相对底层的东西,LZ 来与各位探讨一下几个代码重构的小技巧,这些内容部分来自于书籍当中,部分来自于 LZ 维护项目当中的一些实践经验。如果猿友们曾经用过这种手法,也不妨参与到文章的留言当中,将你的小心得、小体会共享与他人,也可以拿来冲击 LZ 自己定义的排行榜,LZ 不甚欢迎。重构的手法有很多种,相对而言,一篇文章的涵盖量自然是无法提到所有,LZ 这里也只...转载 2020-04-05 13:00:56 · 209 阅读 · 0 评论 -
如何写一个清晰明了的Bug
文章转载自公众号ImportSource,作者 贺卓凡bug是不可避免。但如何让自己的bug写得清新脱俗,结构清楚则是需要我们不断努力的。在开始今天的话题之前,先抛出一个问题,代码结构好是好事吗?代码结构好是好事吗?该图是我的票圈里一位兄弟转发的。代码结构好了,别人接手容易,反倒是写得烂了,却可以成为焦点。你咋一听觉得这是什么神逻辑,虽然听着有道理,但总感觉有点政治...转载 2019-07-19 13:13:21 · 305 阅读 · 0 评论 -
If语句:你们到底想把我放到哪儿?
本文转载自码农翻身顺序、循环、分支,是你们所说的程序的三个基本元素。我就是你们最常用的分支,名字叫做if语句。今天上午,菜鸟张大胖写了一段代码:publicclassCustomer{privateinttype;......voidvalidate(){if(type==Employee){...转载 2019-06-12 09:37:25 · 338 阅读 · 0 评论 -
代码重构!你敢吗?
今天讲述一个代码重构的经历。2014年,我从基础架构部门,转调到业务部门。技术负责人想让我搞定业务系统的稳定性问题。当时的业务系统确实存在不少问题,不过我初来乍到,对整体系统不熟悉,就想在熟悉一段时间后再动手。没想到,后面是事情自己找上了门。那是一个周六的早上,我当时不在广州,而是去了深圳,去一个同学家。当时跟我同学聊的尽兴,就一直没看手机,间隔了一个多小时后,我打开微信一开,工作...转载 2019-04-05 12:03:28 · 374 阅读 · 1 评论 -
减少该死的 if else 嵌套
写在前面不知大家有没遇到过像“横放着的金字塔”一样的if else嵌套:if(true){if(true){if(true){if(true){if(true){if(true){}...转载 2019-03-22 09:17:21 · 556 阅读 · 0 评论 -
为什么不应该重写 service 方法?
故事通常是这样开始的:从前,有一个程序猿,他语重心长地对孙子说:“孩子,要是你以后写servlet,最好不要重写service方法啊”孙子大为不解,程序猿又说:“听爷爷的,准没错,爷爷的爷爷就是这么说的……”——为什么不应该重写service方法呢?如果你也曾思考过这个问题,但暂时无解,这篇文章或许可以给你一点启发。先来看一个具体的例子:当时我正在osc看红薯的一篇大作,只见我...转载 2019-03-15 19:35:18 · 440 阅读 · 0 评论 -
这些让人抓狂的烂代码,你碰到几种?
刚入程序员这行的时候经常听到一个观点:你要把精力放在ABCD(需求文档/功能设计/架构设计/理解原理)上,写代码只是把想法翻译成编程语言而已,是一个没什么技术含量的事情。当时的我在听到这种观点时会有一种近似于高冷的不屑:你们就是一群傻X,根本不懂代码质量的重要性,这么下去迟早有一天会踩坑,呸。可是几个月之后,他们似乎也没怎么踩坑。而随着编程技术一直在不断发展,带来了更多的我以前认为是傻X的...转载 2019-03-02 19:54:14 · 1074 阅读 · 0 评论 -
关于重构,看此文就够了
作者:小村医https://www.jianshu.com/p/3f04b6aebad2狗屎一样的代码如何重构?重构不止是代码整理,它提供了一种高效且受控的代码整理技术。(一)重构原则1、何谓重构对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。另一种解释是:使用一系列重构手法,在不改变软件可观察行为的前提下,调整其...转载 2019-02-15 16:02:51 · 593 阅读 · 0 评论 -
系统重构的10点经验总结
导读:我们日常工作中,系统重构应该是最让人头疼的了,无论是错综复杂还是简单的系统,在发展的过程中都会经历重构,系统重构也是任何技术团队无法回避的问题,在我服务的多家公司,几乎每家公司都经历了一次甚至多次系统的重构,本文就我在多年的重构工作中总结出来的几点建议分享给各位朋友,希望能够给朋友们带来帮助。高成,现就职于唯品会,曾服务于微博、爱奇艺等公司,主要从事后端系统的开发和设计工作,参与了...转载 2018-12-01 21:13:11 · 6500 阅读 · 0 评论 -
修改软件的艺术:如何重构遗留代码
重构是指在不改变外部行为的前提下对代码的内部结构进行重组或重新包装。想象一下,如果你是若干年前的我,正在对经理说你要让整个团队花上两周(一个完整的迭代周期)来重构代码。经理问:“好的。你会给我什么样的新功能呢?”我说:“等等。我是说重构。重构修改内部结构而不改变外部行为。不会有任何新功能。”他看着我问道:“那你为什么要重构?”我应该如何回答?软件开发者时常遇到这样的情况。有时候...转载 2018-12-01 21:11:45 · 809 阅读 · 0 评论 -
最近项目重构的一些感想
1. 缘起2. 面向对象仍然是主流的设计风格3. 世界是有状态的,导致我们的代码也是充满了各种各样的状态4. 什么是『组合』,什么是『组合优于继承』5. 『继承』没有那么不堪,『多继承』可能要避免6. 『设计模式』很有用7. OOP 与 FP8. 分层思路9. 《重构》、《Clean Code》1. 缘起最近,因为多个因素综合作用的情况下,我有幸得以负责一个...转载 2018-11-09 08:51:36 · 529 阅读 · 0 评论