我理解的代码重构与完美思想
说说代码重构 公司项目初期,在很长一段时间内,并没有认真做好工作量的时间安排表。往往是早晨开个会,简单描述下任务,下午就最好能把模型给出来,甚至要求高的是当天做完,第二天可以展示给用户练手。 当年在阿里服装ERP组的时候,老板就是这么要求的。老板的出发点就是那样,追求极致的用户体验(此处应当是交付体验)。当技术资源不够时,我们底下做事情的人,往往就是偷工减料(当然不是制造 Bug,而是设计模型时偷懒,命名等不规范),要不就要加班,甚至爱有时候即便偷工减料了,还当天完不成。 可是说这样的编程产出的作品,和流水线工人无异,堆砌的代码,因为设计不清晰,缺少规划,等到用户不满意返工时,又要重做,而之前的产出,却不能被复用,劳心劳力。 所以,留给我们编码的最佳方案就剩 2 个: 1)重设计 2)要重构 重设计,一开始就能考虑各类应用场景,以及异常错误,做好完整的测试,接下来的任务再改变,基于之前设计基础,做修改会顺畅很多。 要重构,在设计这关缺失的情况下,我们对自己的代码负责,唯一途径就是通过重构,而且是及时的重构。当项目完成时,如果没有重构完毕,那么之后再重构也有心无力了。首先开发、测试资源人手都没了;第二,重构完毕也不知道是否有漏掉的业务实现;最后,重构未必有人肯买单,当系统好用的时候,开发或者用户都排斥无意义的改造,我们说服不了他们。 野蛮生长