代码重构的时机与要点

代码重构的结果至关重要

对于程序员来说,重构的意义似乎不需多说,大家公认的干净的代码是更好的。

在非程序员主导的项目中,做重构则需要对结果有更多的负责,一旦重构带来更多的bug以及进度的delay,重构本身就会被怀疑,牛逼和逗比只在一线之间。

重构的时机

最好的时机就是task收尾阶段:子task结束就清理子task的代码,大task结束就清理大task的代码。

有这么几个原因:

- 测试资源:一部分代码一旦经过QA测试之后,本身的成本就上升了(程序员+QA的投入),如果重构发生在QA测试之后,那么QA的测试的资源就被浪费了,游戏上线之后做,就有更多的浪费

- 对于代码的熟悉度:刚刚结束的时候,是记忆最好的时候,重构会格外的高效,当然过一段时间可能有不同的想法,但这和基于熟悉的部分是两码事情

- 在清理过代码之后,对于所实现的东西,会有最好的清晰度,心里也会感觉比较踏实清爽

一般来讲,在task任务结尾处做清理,是非常合理的,而如果后面单独拉出来作为一个任务来做,它就要和其他的任务来对比优先级,这个时候如果代码运行没出问题,那重构优先级对比常常处于下风,即便程序员自己此时恐怕也会做出不重构的选择的。

重构的意义

对于项目自不必说了,长期观察下来不重构伤害最大的是程序员本身。

重构本身好像是一个修炼的过程,静下心来把写过的东西重新整理一番,如果反思一样。

逐渐的会养成好的代码习惯,看见自己的不足进而学习长进,进而会习惯于第一版写出好的代码。

而不重构,则丧失了很宝贵的反思学习的机会,习惯于写乱的代码这个会很危险,后面想改过来,恐怕要很长的时间了。

而写出简洁代码的能力,是做大型项目的非常重要的一个能力,大型项目头号挑战便是复杂度。

时间: 2024-10-19 07:22:12

代码重构的时机与要点的相关文章

如何编写更棒的代码:11个核心要点

作为一个合格的程序员,有太多的理由促使你去编写干净利落且可读性强的代码.最重要的是因为你编写的代码,将来会有很多人一次次地阅读.当你有一天回过头来看自己的代码时,你就会明白编写优雅的代码是多么的重要.另外,如果别人来阅读你编写的代码,你是否想知道别人看到那些烂代码无比抓狂的感受.因此,花多一点的时间去编写优雅的代码,将来说不定会给你节省更多的时间. 那么,如何编写更棒的代码,下面是11条基本规则: 1.保持方法简短扼要 2.永远永远不要将同一个变量用于不同的目的 3.尽可能让变量和方法的名称能够

java代码重构的方法学习

2,8阅读 第一章  第一个案例 在此案例中使用了, 方法的提取(extract method),方法的移动(move method),临时变量的清除,变量及函数名重构,switch类型重构(replace type code with state/strategy)等. 重构使得代码功能更加好的被复用,偏于维护和修改. 注意: switch语句的属性尽量不要是另一个对象的数据,最好在自己的数据基础上进行 第二章 重构原则 何为重构:(名词)不改变软件可观察行为的前提下,提供可理解性,降低其修改

【iOS开发-44】通过案例谈iOS代码重构:合并、格式化输出、宏变量、利用数组字典存储数据,以及利用plist的终极知识

首先我们今天的案例就是如下5个页面通过上一张下一张来切换: (1)第一步,基本是以很傻很直接的方式来创建,这里用到的主要点有: --把对象变量设置为全局变量使得可以在其他方法中调用来设置它们的属性 --设置了一个全局变量index,默认是0,然后通过增加减少这个index值并结合switch来调用不同的数据. --利用先调用一次change方法初始化页面,使得页面定格在第一帧. --利用按钮的enabled属性来设置按钮是否可以被点击,然后结合index的值分别在第1张和第5张时分别把上一张和下

代码重构的必要性分析及实施建议

代码重构在软件开发过程中,是一项重要非紧急的工作.但大多数情况下,人们都会因为其非紧急,而忽略其重要性.等到代码重构演变成重要且紧急的工作时,一般就只有放弃了,因为由于长期的技术欠债,此时代码已经变得无法扩展,成为一堆僵死的代码. 代码重构的重要性 代码重构是为了使代码具有很好的可读性.可维护性.可扩展性.可重用性. 为什么要进行代码重构? 代码在演化过程中,会由于各种不同的原因,不断产生bad smell.如果不及时清理,bad smell会不断积累,代码逐渐腐化,最终导致代码不可用. 代码腐

Windows程序代码重构

代码重构:在程序功能实现之后,对代码进行一定规模的整理,使之符合"高内聚.低耦合"的软件设计原则,便于维护和使用. ①用函数封装消息处理代码--对Windows程序窗口函数中的每一个case程序段进行封装以形成一个消息处理函数,而在case中调用这个函数. ②利用数组或链表实现消息映射表进一步实现代码的隔离--因为窗口函数switch-case结构实质上实现的就是一个根据消息标识来查找消息处理代码的功能,故可以用消息映射表和一段查表程序来替代它,表中的每一项可以使用一个函数指针来指向消

Job Service代码重构遐想

最近有大概半个月的时间可以重构下代码,刚好可以重新整理下Job Service相关的代码.前段时间由于忙于完成Job Service所有功能以及完成对Auto Job的支持以正常上线,使得有些地方的代码写得不是特别优雅.主要集中在以下一些地方: DAG状态的转移 目前DAG状态分为3层,分别为ApplicationStatus.TaskStatus.InstanceStatus.每个层次都有以下几种状态,Waiting.Running.Finished.Stopped.Failed.并且DAG有

第九课、计算器界面代码重构

一.重构的概念 1.重构是以改善代码质量为目的代码重写 (1).使其软件的设计和架构更加合理 (2).提高软件的扩展性和维护性 2.代码实现和代码重构的不同 (1).代码实现:按照设计编程实现,重在实现功能 (2).代码重构:以提高代码质量为目的软件架构优化 (3).区别 A.代码实现时不考虑架构的好坏,只考虑功能的实现 B.代码重构时不影响已实现的功能,只考虑架构的改善 3.软件开发的过程 (1).从工程的角度对软件开发中的活动进行定义和管理 4.什么样的代码需要重构 (1).当发现项目中重复

step 1 代码重构

代码重构 代码重构介绍 重构目的 相同的代码最好只出现一次 主次方法 主方法 只包含实现完整逻辑的子方法 思维清楚,便于阅读 次方法 实现具体逻辑功能 测试通过后,后续几乎不用维护 重构的步骤 1  新建一个方法 ?                     新建方法 ?                     把要抽取的代码,直接复制到新方法中 ?                     根据需求调整参数 2  调整旧代码 ?                     注释原代码,给自己一个后悔的

转有关代码重构

转自:http://blog.csdn.net/weiky626/article/details/1602691 开发人员可能听到过"bad smell"这个词,这个词用在软件编码中是什么意思呢? 代码还有smell吗?当然没有,正如计算机病毒,bug等词一样,这只是个形象的说法.这个词在这里的意思是代码实现了需求,但是代码却不精炼,冗余,结构混乱,难读懂,难维护,难扩展等等.与之相对应的一个词是"refactor",即代码重构.我们在看些外国人写的程序时可以发现,