重构、优化代码的思路

重构思路

  1. 首先,要从需求考虑,将每个需求都抽成对象,然后梳理它们之间的关系,把每个对象的属性都考虑好

  1. 然后去对比现有数据库是否能够满足需求,且满足数据库三范式

  1. 第一范式(1NF):字段值具有原子性,不能再分(所有关系型数据库系统都满足第一范式);

  1. 第二范式(2NF):一个表必须有主键,即每行数据都能被唯一的区分;

  1. 第三范式(3NF):一个表中不能包涵其他相关表中非关键字段的信息,即数据表不能有沉余字段;

  1. 如果数据库有改动,那么代码也需要改动,且要去优化之前的代码(重构一定会优化代码,不然为什么重构)。

优化代码思路

  1. 减少过多的条件判断

  1. 使用布尔值的快捷方式

  1. 合理使用三元语句

  1. 把复杂的条件分支语句提炼成函数

  1. 避免条件判断的重复过程

  1. 巧用return

  1. 适当使用设计模式,比如策略模式

  1. 临时变量尽量减少

  1. 不要出现不恰当的命名

  1. 命名要准确描述做的事情

  1. 命名需符合约定俗称的惯例

  1. 禁止即某个类的方法过多的使用其他类的成员

  1. 合理的继承体系

  1. 继承符合封装性,子类依赖其父类中特定功能的实现细节

  1. 尽量控制逻辑不要分散,较少出现以下情况

  1. 发散式变化:某个类经常因为不同的原因在不同的方向上发生变化

  1. 散弹式修改:发生某种变化时,需要在多个类中做修改

  1. 方法不要过长,且减少代码重复

  1. 逻辑要清晰明了,只在复杂的逻辑上添加注释

  1. 方法中的语句保持在同一个抽象层级

  1. 不要出现一些逻辑十分简单,但是写的却很复杂的代码

  1. 不要使用过时的方法

  1. 应使用常量或确定有值的对象来调用 equals,防止空指针报错

IDEA插件

最后推荐几个比较好用的idea插件

  1. Alibaba Java Coding Guidelines

  1. Alibaba Java Coding Guidelines 专注于Java代码规范,目的是让开发者更加方便、快速规范代码格式。该插件在扫描代码后,将不符合规约的代码按 Blocker、Critical、Major 三个等级显示出来,并且大部分可以自动修复,它还基于 Inspection 机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。(唯一的问题这个插件很长时间没有更新过了)

  1. GitToolBox

  1. 配合版本控制工具git使用,非常直观显示当前项目分支,及代码未更新,未提交数目,并且可以自动更新git代码。省去查询分支和最新代码等不必要的麻烦。

  1. MyBatisX

  1. 有了MybatisX后只用在dao中写好对应方法后,按Alt+Enter选择自动生成就能自动在xml中生成对应的映射方法

  1. 添加插件后在dao层会多一只戴红色头巾的小鸟,同样在对应xml文件方法前也会对应一直戴蓝色头巾的小鸟,点击即可在dao和xml文件之间跳转

  1. Rainbow Brackets

  1. 这个插件基本作用是按照颜色匹配括号,提高括号匹配速度。还可以高亮目标代码,快速锁定显示目标代码。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值