1. 重复代码
2. 长方法
3. 大类
4. 长参数表
5. 发散的变化 类有太多杂乱的变化
6. 特性羡慕 一个类对另一个类的过多实现细节感兴趣
7. 数据抱团 在不同的地方总是一起使用的数据应该有一个他们自己的类
8. 原始数据困扰 程序用到了太多的原始数据类型,这些数据实际上应该是类的一部分
9. switch 语句
10.并行继承层次 重新定义平行的类有时过于重复
11.懒惰类
12.投机性泛型 在实际需要之前就为将来的灵活性而设计,这将导致不必要的复杂性
13.消息链 太多消息形成一个链,难于追踪
14.中间人 有时直接与对象交互的更好,无需借助中间人
15.不恰当亲密关系 类与类之间相互不需要知道得太多
16.数据类 类需要完成一些任务
17.遗产拒绝 子类应该利用到从超类继承来的绝大部分东西
18.注释 是否能通过为方法或变量提供一个更好的名称,就取消某条注释
分享到:
相关推荐
这段时间看了这本《重构》,看完把书中的重构清单列了一份,留着以后复习,同时还把书中的代码示例也一并在eclipse中code一遍加深印象
针对多输入复杂系统的相空间重构,内含多变量相空间重构程序清单
待办事项应用一个简单的清单/待办事项应用程序。 它使用 json-server 作为后端。 还有前端的vue。 Bootstrap 用于构建接口。 我决定不使用路由器只是为了保持简单。 事后看来,要进一步改进应用程序,这是拼图的关键...
辅助功能清单 使用Angular JS中内置的这个极其小巧轻便的项目,可以为Web开发人员在发布网站之前进行检查提供全面的清单。 它包括最佳实践和Internet站点上的各种资源。 希望您会在项目中发现它...重构 参考 执照
作品清单 打字稿插件主动代码修复 到目前为止,实现所有“有趣的重构”的最重要的程序包。 它是一个TypeScript语言服务插件,具有几个小的主动代码重构,例如在调用不存在的重构时创建构造函数,在定义不存在的变量...
保卫萝卜 ...待办事项清单 家庭面 关卡选择 游戏关卡 快速入门 # 安装yarn,或者直接使用相对应的 `npm install`、`npm run dev` 等命令。 npm i -g yarn # 安装依赖 yarn # 开发模式 yarn dev yarn dev执
技术债务-预防,诊断和治疗技术债务阅读和资源清单。 它包含许多诊断,预防和控制技术债务的方法。 这是一个在制品! 请通过创建一个fork并创建一个pull请求来添加您觉得有趣的任何资源。 目录 :chequered_flag: 从...
寻源、货源清单一键匹配、模板合同快速生成、供应商准入与 退出的量化考核等全过程。并且,支持业务模板的参数化配置,通 过创新型业务应用描绘数字化战略采购路线图,助力企业释放供应链的所 有潜能,重构业务实践...
Moroten PWA 使用React构建的简单杂货清单。 使用引导。 仍在重构为Typescript的过程中,因此尚未完全安装。使用的工具Cloud Firestore作为简单的实时数据库Firebase身份验证Firebase SDK Redux与用于状态管理的...
《重构_改善既有代码的设计》 《研磨设计模式》 一、数据结构与算法 包含数据结构与算法两部分。 :books:阅读清单 :television:学习课程 二、Java 包含 Java 核心知识和 Java Web 框架。 :books:阅读清单 《阿里巴巴...
该项目包括使用功能组件和挂钩而不是类组件和生命周期方法对现有“视频”存储库进行重构。 通常,该项目具有相同的功能,即基本的搜索栏,可从检索视频,并在CSS网格中显示视频结果列表以及所选视频的视频播放器。 ...
令人敬畏的技术债务 精选的技术债务讲座,文章和书籍清单。内容会谈视频中与技术债务有关的谈话记录 -Ward Cunningham反思了“债务隐喻”作为重构动机的历史,动机和普遍的误解。 大多数团队都有一定数量的技术债务...
精选的反编译资源和项目清单。 内容 二进制源匹配 总体概述 反向编译技术 用于反编译的静态单个分配 机器码的可重定位分析 以人为中心的二进制代码反编译方法 编译器 编译器:原理,技术和工具 先进的编译器设计与...
胶水 MEAN Stack应用-清单处理器和聊天 目标 将grunt设置为任务运行器 使用jshint 学习用茉莉花测试 部署到天蓝色 了解角度依赖性注射 实施2因素验证 托多斯 将控制器逻辑重构为工厂
待办事项清单 静态页面 整理目录结构 Github issus作文章数据源 react-markdown渲染md 代码高亮 摘要 分类 标签 翻页功能 家用卡片 演示页面 评论功能(跳转到Github问题页面。。。) 回到顶部 Redux管理数据 ...
火车库存这是我为丈夫和儿子的火车收集制作的清单应用程序。 这也成为我的实践项目。 我一直在重构它并添加功能。 它使用带有Room,Dagger2,Paging3,Navigation,WorkManager,协程,流和数据绑定的MVVM体系结构。...
待办事项清单 代码规范相关eslint prettier等 风格约定命名大小写等 ♡element-ui按需♡ 样式处理 国际化18n axios封装 模拟数据 目录结构 tree -l 3 -f --ignore "node_modules/,dist/,.git/" --directoryFirst -...
v1.0,模块化自重构机器人 集会 - 每种编程语言中的 Hello world。 感谢为此做出贡献的每个人,我阅读了所有拉取请求! - 用于命令和月球模块的原始阿波罗 11 号制导计算机 (AGC) 源代码。 - 一个简单的 x86 内核,...