layout: post
title: Hello 2018
subtitle: "" ”重构“笔记之重构的原则 —— 笔记""
date: 2018-08-19
author: BY
header-img: img/post-bg-2015.jpg
catalog: true
tags:
- 学习
- 读书
- Java
- 重构
重构的原则
什么是重构
首先我们考虑什么是重构,重构就是对软件内部的一种调整,目的是在不改变软件可观察范围内,提高其可读性。
我们为什么需要重构
重构使软件更容易理解,在编码的过程是我们的代码会越来越杂乱无序。每当过一段时间我们需要将代码的结构进行订正也就是重构,使代码的可读性增加。
重构的一些好处
- 重构能找到Bug
- 重构提高编程速度
那么我们何时进行重构
重构不是一件应该特别拔出准备时间的事情,重构应该是在随时随地进行的过程。
- 添加功能
- 你在对新的需求做编码,发现此处的代码有冗余。这时你就可以着手做重构了。
- 添加新功能时,发现旧的代码不能满足需求。可以开始重构了。
- 修补错误时重构
- 在修bug时重构可以对代码有着更深的印象。
- 复审代码的时候重构
- 在代码的复审过程中会发现问题
- 在复审过程中他人会提出有效的意见
- 同复审可以排查出代码中的问题
重构的难题
- 如何解决与数据库的关系
- 解决办法是在对象模型和数据库模型之间插入一个分隔层这样就可以隔离两个模型各自的变化
- 通过中间层的的处理上层和下层无需知道两者之间的关系,当上下层需要做变动的时候只要对中间层做变更就行了
- 修改接口
- 对于那些已经发布的接口如何做处理
- 先把接口加上deprecated 进行标记,然后创建一个新的接口进行替代
- 同时维护两套接口是复杂的,这时就需要沟通然后把旧的接口进行下架
- 难以通过重构手法完成的设计改动
- 何时不该重构
- 项目的后期
- 时间紧急
- 在重构前确认代码是能正常运行的
- 重构与性能
- 时间预算法,重构后的代码对时间要起很高
- 持续关注法, coder在任何时候都需要设法保持系统的高性能
- 利用上诉90%统计数据方法, 将注意力集中在热点上,优化局部
代码的坏味道
下面我们将介绍一些不好的编码习惯,这些编码习惯会使你的代码变得越来越复杂,冗余
- 重复的代码
- 过长的函数
- 过大的类
- 过长的参数
- 发散式变化 (将代码中需要修改的地方放在同一个地方修改)
- https://ws1.sinaimg.cn/large/005S1Oyygy1fufb5rjmc2j3069069gll.jpg