当前位置: 首页 > 后端技术 > PHP

浅谈重建带来的灾难性破坏

时间:2023-03-29 21:29:55 PHP

前言我7月20日准备的本章标题。之前写过一篇重构文章,这段时间一直在等待重构带来的弊端。还好,到现在还没挂。在本章中,我们将讨论重构造成的灾难性破坏。铜牌只要你确定自己是一个真正的程序员,当你接手一个新项目时,因为每个人的编码标准和风格不同,或者某段代码有问题,作为一个向上的程序员,你会总是想一想。重构这个项目比较严重,想重写一遍。例如,下面的代码$status=$_POST["status"]switchstatus{case...break;案件...打破;default:if(){...}elseif(){...}else(){...}break;}我知道当你看到这段代码的时候,你的心会崩溃。如果你是新手,在没有完全理解其结构和功能的情况下,是绝对不敢去修改原代码的,除非他想加班,否则他该怎么办?我只好继续在原来的代码上加代码。$status=$_POST["status"]切换状态{case...break;案件...打破;默认值:if(){...}elseif(){...}elseif(){。..}else(){//新人写的}break;}这里聊的新人一般都不敢碰原代码。当然,这也不排除勇于重构、善于重构的新人。白银讲的与重构无关,但必须有一段话来展现程序员在重构道路上的勇气。到白银大概需要1-2年时间,具体时间看个人环境和自学能力。新人不敢动,是因为对语言、类库、设计模式的基本用法没有特别了解。不敢擅自行动,也是一种聪明保守的做法。但是当涉及到白银时,情况就不同了。我总结了程序员从入门到中级的心理变化。为什么只总结到中级呢?(PS:我自己也不是高级作者)这是一个从谦虚到狂妄到一无所有的过程。看到这里,你就可以理解重建造成的灾难性破坏发生在2-4年的时间段内。在那个阶段,技术还不够扎实,但仍有改变世界的动力。比如积分系统(这里指的是新接手的项目),领导让你修改签到才能获得积分。如果在没有充分了解代码结构和功能分布的情况下进行修改,必然会发生不可避免的灾难。一个简单的登录功能的模块复杂度不亚于一个普通的企业网站。大致有以下几个模块组成用户模块->积分模块->交易模块->详情模块为什么需要?除非你改变原来的,然后你回到青铜,不想那样做。在base上进行重构在当时可能不会成为问题。总会有其他接收者迟早会回到这个问题上。重建的灾难不是指一个人或某人。它就像一个水杯。每个人看到它都会倒一滴水。当它溢出时,就会发生所谓的“灾难”。人变聪明了,基本代码都不去修改,更不用说所谓的重写了。单独拿出一个文件写函数是不够的。事情远没有那么简单。就像上图那个王八蛋,我以为我能行,结果最后Over了。我们在项目开发中见过很多类型的情况。重构的方式方法有很多种,因人(项目)而异。经过对项目的合理分析,制定了改造的一些细节,日日月月的积累终于成型。总结如果你在做重构,你应该考虑以下几点:成本、持续时间、代码、优雅和简单、可扩展性等。为什么要重构?原有代码不能更好的扩展,代码可读性差,不能在其基础上修改等等。希望对您提供重构质量有所帮助。感谢您阅读本文,希望对您有所帮助,谢谢。