重构----改善既有代码的设计(引用)
程序员文章站
2022-03-28 23:22:57
...
1. 为什么要重构
书里,以及网上,都列举了很多理由,但是从我实际角度出发呢,是因为已有的代码写的非常复杂,导致但我们需要增加新功能时,非常麻烦,往往因为结构很复杂,会有不知道怎么下手的感觉。所以如果能够把代码组织得结构良好,会大大方便我们的工作。另外,结构复杂的代码中隐藏了很多bug,现在的状况是往往要等到用户报告bug我们再赶紧修正,这对哪一方都很不好,特别是从我的角度来说,显得很被动。希望借助重构能够减少bug的产生。
2. 什么是重构
“在不改变代码外在行为的前提下,对代码作出修改,以改进程序的内部结构。”“本质上说,重构就是‘在代码写好之后改进它的设计’。”
3. 重构的思想
一句话说,就是“小步前进,频繁测试”。一下子由美国飞回中国,可能出现时差上适应不了的情况;如果坐船每天只走一小段路,就可以很顺利很平滑的过渡过来。
测试是重构的一个重要保证,每进行一个小改动,就测试一下有没有改变外在的行为,这是重要的。但是频繁的测试需要太多的精力,所以需要写一个自动化测试工具,先定义好要测试的东西,然后只需一个按钮,由工具来告诉你o不ok。
用数学的话说,有点像无限细化求积分的方法。
4. 大型重构
当你需要重构一整个软件的代码时(比如说架构不好),“你不可能说服经理把系统停止运行两个月让你进行重构;你只能一点一点地做你的工作,今天一点点,明天一点点。”“只在需要添加新功能或修补错误时才进行重构。你不必一开始就完成整个系统的重构;重构程度只要能满足其他任务的需要就行了。反正明天你还可以回来重构。”
5. 关键词
bad smell :这是一种对代码的美感的感觉。一旦嗅到代码中有 bad smell,就可以考虑进行重构了。bad smell 中有一个典型的,叫“拷贝而来的重复代码”。
design pattern :这是重构的目标,一种良好的代码组织方式。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gooooloo/archive/2009/09/02/4506753.aspx
书里,以及网上,都列举了很多理由,但是从我实际角度出发呢,是因为已有的代码写的非常复杂,导致但我们需要增加新功能时,非常麻烦,往往因为结构很复杂,会有不知道怎么下手的感觉。所以如果能够把代码组织得结构良好,会大大方便我们的工作。另外,结构复杂的代码中隐藏了很多bug,现在的状况是往往要等到用户报告bug我们再赶紧修正,这对哪一方都很不好,特别是从我的角度来说,显得很被动。希望借助重构能够减少bug的产生。
2. 什么是重构
“在不改变代码外在行为的前提下,对代码作出修改,以改进程序的内部结构。”“本质上说,重构就是‘在代码写好之后改进它的设计’。”
3. 重构的思想
一句话说,就是“小步前进,频繁测试”。一下子由美国飞回中国,可能出现时差上适应不了的情况;如果坐船每天只走一小段路,就可以很顺利很平滑的过渡过来。
测试是重构的一个重要保证,每进行一个小改动,就测试一下有没有改变外在的行为,这是重要的。但是频繁的测试需要太多的精力,所以需要写一个自动化测试工具,先定义好要测试的东西,然后只需一个按钮,由工具来告诉你o不ok。
用数学的话说,有点像无限细化求积分的方法。
4. 大型重构
当你需要重构一整个软件的代码时(比如说架构不好),“你不可能说服经理把系统停止运行两个月让你进行重构;你只能一点一点地做你的工作,今天一点点,明天一点点。”“只在需要添加新功能或修补错误时才进行重构。你不必一开始就完成整个系统的重构;重构程度只要能满足其他任务的需要就行了。反正明天你还可以回来重构。”
5. 关键词
bad smell :这是一种对代码的美感的感觉。一旦嗅到代码中有 bad smell,就可以考虑进行重构了。bad smell 中有一个典型的,叫“拷贝而来的重复代码”。
design pattern :这是重构的目标,一种良好的代码组织方式。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gooooloo/archive/2009/09/02/4506753.aspx