索鸟网

  1. 首页
  2. 《重构》一书总结(二)

《重构》一书总结(二)


《重构》一书总结(二)

重构的重点,在于对那些代码进行重构,如果重构不当,反而适得其反。

重构代码终结如下

1.Duplicated Code 重复代码
2.Large Class 复杂的类
3.Long Parameter List 过长的参数列表
4.Divergent Change 发散式变化
5.Long Method 过长的函数
6.Shotgun Surgrny 霰弹式修改
7.Data Clumps 数据泥团
8.Primitive Obsession 基本类型偏执
9.Feature Envy 依恋情节
10.Switch Statements Switch问题
11.Parallel Inheritence Hierarchies 平行继承关系
12.Lazy Class 冗赘类
13.Speculative generatively 夸夸其谈未来性
14.Temporary field 令人迷惑的变量
15.Message Chains 过度耦合的消息链
16.Middle Man 中间人
17.Inappropriate Intimacy 狎昵关系
18.Alternative Class With Different Interfaces 异曲同工的类
19.Data Class 纯的数据类
20.Incomplete Library Class 不完美的库类
21.Refused Bequest 被拒绝的馈赠
22.Comments 过多的注释

相关标签: JAVA Android

来源地址:http://www.imooc.com/article/20196 版权归作者所有!

相关教程

  • 《重构》一书经典总结(一)

    《重构》一书经典总结(一) 为何重构 1.重构改进软件设计 2.重构使软件更容易理解 3.重构提交稿编程速度 4.重构帮助找到bug 何时重构 1.三次法则 第一次做某事的时候去做,第二次会产生反感,但还是会做,第三次就应该重构 2.添加功能时候重构 3.修补错误时重构 4.复审代码时重构 重构面临的难题 1.数据库 2.修改接口 3.难以通过重构手法完成的
  • 第三部分:Idea重构总结

    第三部分:Idea重构总结 idea重构功能非常强大,特别是在java web方面,甚至能够重构html/css/js,下面我将为读者介绍idea的重构功能 重构快捷键Ctrl+Shift+Alt+T 这个快捷键是idea的重构功能,具体也可以在菜单栏中找到。Refactor -- Refactor This 最关键的是idea重构之后还可以回退! ct
  • weex czzlm 项目开发总结--重构

    WEEX重构存在问题与解决方案 1、不能支持横屏2、native不支持less内嵌(.header . hd_back{})、@import写法3、native 不支持样式属性简写:比如不支持padding: 10px 5px 0px 0px; 必须写成 padding-top: 10px; padding-right: 5px; 才能生效 4、不要使用
  • 代码重构

    引言 列举一些编码过程中重构的目标,虽然不难理解,但确实蛮实用的,平时编码中有些经常遇到。 用return 退出多重循环 常见的就是二重for循环标记break退出。 let func=function () { let flag=false; for(let i=0;i<100;i++){ for(let j=0;
  • ES6学习总结(二)

    关于ES6的学习总结,昨天写了第一篇,主要是关于变量声明关键字let和const,新增类型Symbol以及模板字符串,今天准备写第二篇,ES6里面的函数部分,ES6新增了箭头函数,Rest参数以及参数默认值。 箭头函数 关于箭头函数,之所以这么称呼,是因为它就是由一个箭头来定义的,例如: //ES5 function foo(param){ re
  • 前端面试总结二

    为什么要使用css预编译 1、css无法递归式定义2、解决复用性不够3、可以缓解浏览器兼容造成的冗余 cookie,sessionStorage和localStorage的区别 cookie用来在浏览器和服务器中传递并且总量很小sessionStorage和localStorage用于存储本地数据,存储较大localStorage是持久性存储 如何实现浏
  • 小程序开发总结(二)

    一、最近开发小程序功能有个需求就是模板消息他会在服务通知中出现,大概就是这么个栗子: 大家也可以在小程序中搜索小程序实例,里面提供了很多接口的示例非常好用!因为在前期没有注意到这个功能,后面要填坑虽然不难但是浪费了很多的工作量。因为发送模板消息的前提是需要给后台提供一个formId,那么这个formId怎么去获取呢!看这里: WXML<form b
  • Webpack 最佳实践总结(二)

    上一篇介绍了 Webpack 优化项目的四种技巧,分别是通过 UglifyJS 插件实现对 JavaScript 文件的压缩,css-loader 提供的压缩功能,配置NODE_ENV可以进一步去掉无用代码,tree-shaking帮助找到更多无用代码 这一篇主要讲 Webpack 的改进缓存(hash)、切割代码 使用 hash 开发过程经常需要一边预