`
fansfirst2008
  • 浏览: 95449 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

重构中为什么要去除重复代码

阅读更多

   看到不堪入目的代码,我唯一的想法就是重构,重构完了,再去谈修改BUG!

   而重构中最简单的事情,就是提取方法,也就是把做太多事情的方法分解成只做一点事情的方法!

   而今天早上在提取方法中,我发现也可以对方法进行抽象,而进一步满足我重构的冲动和欲望!

   于是我就思考,为什么我会有如此的想法呢?或者别人也会不会有这样的想法!

   其实以前看过的好多书里面,就提到每个方法的代码量不应该超过十行,否则就需要重构,而解释就是,必须迅速的理解方法的意图,方法需要做的事情!

   清晰的结构和迅速的理解,对于软件的意义是非常大的,如果没有这个意识,那么就谈不上重构了!

   为了那个目标和梦想,就必须不断的重构,代码越抽象,其适用性就越大,对于它的理解就越有必要!

   把握每个细节,适度抽象,不唐突!在各个层次间进行切换,在抽象与细节中迅速的理解!

分享到:
评论

相关推荐

    C#代码重构31法

    C#重构汇总 1.封装集合2.移动方法3.提升方法4.降低方法5.提升字段6.降低字段7.重命名(方法,类,参数)8.使用委派代替继承9.提取接口10.提取方法11.使用策略类12.分解依赖13.提取方法对象14.分离职责15.移除重复...

    重构_改善既有代码的设计[高清版]中文版

     Duplicated Code 重复代码   Long Method 过长方法   Large Class 过长类   Long Parameter List 过长参数列表   Divergent Change 发散式变化   Shotgun Surgery 霰弹式修改   Feature Envy ...

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

     Duplicated Code 重复代码   Long Method 过长方法   Large Class 过长类   Long Parameter List 过长参数列表   Divergent Change 发散式变化   Shotgun Surgery 霰弹式修改   Feature Envy 特性依恋...

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

     Duplicated Code 重复代码   Long Method 过长方法   Large Class 过长类   Long Parameter List 过长参数列表   Divergent Change 发散式变化   Shotgun Surgery 霰弹式修改   Feature Envy 特性依恋...

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

     Duplicated Code 重复代码   Long Method 过长方法   Large Class 过长类   Long Parameter List 过长参数列表   Divergent Change 发散式变化   Shotgun Surgery 霰弹式修改   Feature Envy 特性依恋...

    重构 改善既有代码的设计

     Duplicated Code 重复代码   Long Method 过长方法   Large Class 过长类   Long Parameter List 过长参数列表   Divergent Change 发散式变化   Shotgun Surgery 霰弹式修改   Feature Envy ...

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

     Duplicated Code 重复代码   Long Method 过长方法   Large Class 过长类   Long Parameter List 过长参数列表   Divergent Change 发散式变化   Shotgun Surgery 霰弹式修改   Feature Envy ...

    重构与模式.[美]Joshua Kerievsky(带详细书签).pdf

    4.1 重复代码(Duplicated Code) 31 4.2 方法过长(Long Method) 31 4.3 条件逻辑太复杂(Conditional Complexity) 32 4.4 基本类型迷恋(Primitive Obsession) 33 4.5 不恰当的暴露(Indecent Exposure) 33 4.6 ...

    PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式

     介绍    条件逻辑有可能十分复杂,因此本章提供一些重构的手法,专门用来简化... 条件代码中去掉重复成分:Consolidate Duplicate  标识特殊情况:Replace Nested Conditional with Guard Clauses  去除讨

    什么是重构,什么不是重构

    有时候,会有程序员跑...  重构的结果是引用了快捷方法、去除了重复代码和死代码,使设计和逻辑更加清晰。是在更好的、更聪明的使用编程语言。是在优势利用你现在知道、但当时的开发程序员并不知道——或并没有加以利

    重构36计.docx

    第二十三计:避免重复代码 15 第二十四计:增加注释 16 第二十五计:函数体最多不超过100行 16 第二十六计:使用语言的修饰符确保变量的不可变性 17 第二十七计:对象状态共享 17 第二十八计:用对象代替普通常量 17...

    refactoring-to-patterns:重构与模式

    重构与模式写作缘由过度设计指代码的灵活性和...目的是在不改变软件的可见行为的情况下,使其更易理解,修改成本更低重构过程去除重复、简化复杂逻辑和澄清模糊的代码重构的动机使新代码的增加更容易改善既有代码的设

    ReplayProxy:一种回归测试遗留 .NET 代码的新方法 - 记录现有行为,并在重构时断言没有任何变化

    一种隔离测试遗留 .NET 代码的新方法 - 记录现有行为并断言在重构时没有任何变化。 无限重复。 在经过测试之前,我无法重构此代码! 在我理解这段代码之前,我无法测试它! 在重构之前我无法理解这段代码! 听...

    Refactor_Horiseon:重构名为Horiseon的网站

    CSS类元素中的元素就像ID一样在重复,因此我将它们合并为几个类元素以简化CSS。 我在HTML中添加了一些注释,以便更轻松地查看代码块是什么。 在将链接到CSS的类ID修复为通用类时,我不得不在文章的H2标头中创建ID...

    refactoring:Serpent重构

    作曲方法在对象之间移动特征移动方法移动字段提取类内联类隐藏委托移除...为单向封装集合用数据类替换记录用类替换类型代码用子类替换类型代码用状态/策略替换类型代码用字段替换子类简化条件表达式分解条件合并条件...

    refactoring-guide-in-turkish:土耳其重构指南

    重构是在不更改代码功能的情况下提高代码质量,将其转换为简洁易懂的设计的过程。 为了理解重构的概念,首先,让我们尝试了解什么是纯净的简单代码,阻止纯净代码并导致其编写不良代码的原因是什么,换句话说,什么...

    JAVA上百实例源码以及开源项目源代码

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    Android代码-仿煎蛋网客户端

    主要是在闲暇之余一边学习Material-Design和Rx响应式编程一边练手做了这个App, 由于使用的相关的API并未与煎蛋网沟通,如果有任何侵权的地方我会及时删除相关代码,感谢~ 努力发布2.0版本中. 主要功能 新鲜事、段子...

Global site tag (gtag.js) - Google Analytics