`
jiangduxi
  • 浏览: 463855 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

重构--改善既有代码的设计学习总结一

阅读更多
最近在维护旧系统的时候,发现旧系统的可读性和高重复性的众多问题。但是针对原有的系统在不维护的时候是满足用户的使用,也就可以说旧系统适合在维护前的那个阶段。任何系统都有那么一个阶段。没有什么系统开发完后就不需要去维护。因此就不多说可读性的问题了,这里主要根据重构进行总结。

  我相信很多IT界的朋友应该都或多或少有听说《重构》这本书。这里我也是根据读了这本书结合一些想法进行总结。

何谓重构?
引用

  1. 对软件内部结构的一种调整,目的是在不改变(软件之可察行为)前提下,提高其可理解性,降低其修改成本。
  2. 使用一系列重构准则,在不改变(软件之可察行为)前提下,调整其结构。

以上是重构书上根据重构为“名词”和“动词”来进行定义。
根据上面的定义,我给出个人的理解:
既然是不改变其行为,提高其可读性和理解性,那么这个是否和基础数学上的“化简”类似呢?比如"50/100"="1/2" 其50是共同因数或者也就解释为提取公因数。例外根据多项式的中提取公因式更类似。

观点: 将程序代码重复出现的提出出来,也就是瘦身。让代码块瘦,瘦到上面程度呢?瘦到最简,也就是功能单一,专注力加强。同时也便于测试。


什么时候进行重构?
根据”事不过三的原则“,进行确定是否要进行重构。

观点: 重构这个绝对不是从0开始,因为重构至少大于2次。因此希望编写代码的时候要带有重构的思维(重构的思维可以从0开始,就相当于你在脑海里知道要将结果化简为最简一样),当你感觉又写了类似的代码的时候,这说明你可以要进行重构了,当你发现写这段代码有烦的感觉的时候,那么请你想想重构吧!

分析哪些症状代码有需要重构
引用

1. 重复代码
2. 方法过大
3. 类过大
4. 参数过多
5. Divergent Change
6. Shotgun Surgery
7. Feature Envy
8. Data Clumps
9. Primitive Obsession
10. Switch Statements
11. Parallel Inheritance Hibernarchies
12. Lazy Class
13. Speculative Generality
14. Temporary Field
15. Message Chains
16. Middle Man
17. Inappropriate Intimacy
18. Alternative Classes With Different Interfaces
19. Incomplete Library Class
20. Data Class
21. Refused Bequest
22. Comments

以上22条是重构书中的代码的坏味道中的观点。本人现阶段只对:1,2,3,4,11,12,10,20,22尝试过。不过1,2,3,4是最为基本的。这里就得一些理论性进行总结,下次将结合实例来进行总结。
分享到:
评论

相关推荐

    重构----改善既有代码的设计(完整中文扫描版PDF)

    《重构:改善既有代码的设计》(Refactoring: Improving the Design of Existing Code)是由Martin Fowler撰写的一部经典著作。此书被认为是软件工程领域中的一个里程碑,与另一本经典《设计模式》(Design Patterns...

    重构----改善既有代码的设计(完整中文扫描版PDF).pdf

    本书讲述重构,即在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。

    重构--改善既有代码的设计 文字版 epub格式

    重构--改善既有代码的设计 文字版 epub格式

    重构--改善既有代码的设计.epub

    本书解释重构的原理(principles)和最佳实践方式(best practices),并指出何时何地你应该开始挖掘你的代码以求改善。本书的核心是壹份完整的重构名录(catalog of refactoring),其中每壹项都介绍壹种经过实证的...

    重构--改善既有代码的设计_中文版

    java开发经典书籍,重构--改善既有代码的设计_中文版 java开发经典书籍,重构--改善既有代码的设计_中文版 java开发经典书籍,重构--改善既有代码的设计_中文版

    重构-改善既有代码的设计+中文版(高清).pdf

    重构-改善既有代码的设计 强烈推荐! 重构-改善既有代码的设计 强烈推荐! 重构-改善既有代码的设计 强烈推荐! 重构-改善既有代码的设计 强烈推荐!

    重构---改善既有代码的设计(中文版)

    重构---改善既有代码的设计。Java程序员必读书籍之一。

    重构-改善既有代码的设计

    第1章 重构,第一个案例 1 1.1 起点 1 1.2 重构的第一步 7 1.3 分解并重组statement() 8 1.4 运用多态取代与价格相关的条件逻辑 34 1.5 结语 52 第2章 重构原则 53 2.1 何谓重构 53 2.2 为何重构 ...

    重构----改善既有代码的设计

    重构----改善既有代码的设计 怎么写好一个类,怎么重构已有代码,运用多中重构代码的方法,去改善代码结构。

    重构-改善既有代码的设计.pdf

    重构-改善既有代码的设计.pdf重构-改善既有代码的设计.pdf

    重构_重构_改善既有代码_

    《重构:改善既有代码设计》是一本由Martin Fowler所著的经典IT著作,它详细阐述了在软件开发过程中如何通过重构来提升代码质量、可读性和维护性。重构是一种系统性的方法,旨在不改变软件外在行为的前提下,改进其...

    重构--改善既有代码的设计_中文版.mobi

    重构--改善既有代码的设计_中文版

    重构-改善既有代码的设计

    本书基本上是取自”重构”中文版一书的内容,但格式上参照的是chm英文版的格式,还有一些格式小修改,比如第一章的重构前后代码对比。因为时间匆促,个人能力有限,本书难免存在一些缺漏,如果大家发现有问题,随时...

    重构--改善既有代码的设计

    重构--改善既有代码的设计 重构--改善既有代码的设计

    重构-改善既有代码的设计(良心资源)

    《重构-改善既有代码的设计》是一本在软件开发领域具有深远影响的经典著作,由马丁·福勒撰写。这本书深入探讨了如何通过一系列微小而精确的步骤改进已有的代码结构,提升代码质量,同时保持软件功能不变。这些步骤...

    《重构-改善既有代码的设计》

    《重构:改善既有代码的设计》提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。 《重构:改善既有代码的设计》适合软件开发人员、项目管理人员等阅读,也可作为高等院校计算机及相关...

Global site tag (gtag.js) - Google Analytics