java中高效拆分方法

151 阅读3分钟

引言

在Java编程中,方法拆分是一种重要的技巧,它不仅提升了代码的可读性,还增强了复用性和可维护性。一个良好的方法拆分策略可以使代码更加整洁、高效,同时也便于其他开发者理解和使用。本文将探讨Java中高效拆分方法的原则和技巧,并通过实例说明如何实现。

原则

既然拆分方法那么重要,那我先分析一下从设计的层面来讲拆分的重要性,主要是围绕下面几方面

  • 单一职责原则:将拆分的方法确保只做一件事
  • 限制方法:在阿里巴巴规范中代码不能超过80行
  • 提升复用:最后就是我们最需要的一个提升复用性,将多个方法的共性提炼出来

实际上我们在写代码的时候也会经常遇到举个最简单的例子:现有需求如下

需要将更新数据库中同一条数据的状态。

那么我们就可以直接将这种方式抽取成一种方法,那么我们只需要传入需要改变的id以及状态即可完成操作,减少大量冗余代码

快捷抽取方法

那么我们在抽取代码的有没有快捷的方式呢?在idea中,如果你写了两段一样的代码idea就会提示你抽取代码,当然这种情况是非常少见的,大部分情况下我们还是自己将一段有共性的方法抽取出来,下面我简单介绍idea中如何去抽取

  1. 快捷键 "Ctrl + Alt + M"(在Mac上是 "Command + Option + M"):这个快捷键可以将选中的代码块提取为一个方法。你只需要选中要提取的代码,按下快捷键,然后输入方法名,IDEA会将选中的代码封装成一个方法,并且将原来的代码替换为对该方法的调用。

  2. 快捷键 "Ctrl + Alt + V"(在Mac上是 "Command + Option + V"):这个快捷键可以将选中的表达式提取为一个变量。你只需要选中要提取的表达式,按下快捷键,然后输入变量名,IDEA会将选中的表达式封装成一个变量,并且将原来的代码替换为对该变量的引用。

  3. 快捷键 "Ctrl + Alt + F"(在Mac上是 "Command + Option + F"):这个快捷键可以将选中的代码块提取为一个字段。你只需要选中要提取的代码,按下快捷键,然后输入字段名,IDEA会将选中的代码封装成一个字段,并且将原来的代码替换为对该字段的引用。

  4. 使用Refactor菜单:在IDEA的菜单栏中,点击"Refactor",然后选择相应的提取操作,比如"Extract Method"、"Extract Variable"或者"Extract Field"。这样会弹出对话框,你可以在对话框中输入相应的名称,然后点击确认进行代码抽取。

范式抽取

那么我们如何去范式的抽取这方法呢?

就是可以传入共同特征的实体对象

  • 抽取方法

例如在下面这段代码中,入参可以我继承testVO的任意类,,因为这个类实现了testVO的部分实体,所以我们可以在这段代码中去为我们抽离出来的代码进行赋值等其他操作

private<T extends testVO> void getMerCheck(T checkVO) {
// 业务处理
}
  • 抽取类对象

那么还有就是有一些类也需要对其进行抽离,这个类一般需要我们传入的参数和出参不太相同

/**
 * Excel相关处理
 * 
 * 
 */
public class ExcelUtil<T>{
    /**
     * 对excel表单默认第一个索引名转换成list
     * 
     * @param is 输入流
     * @return 转换后集合
     */
    public List<T> importExcel(InputStream is) throws Exception
    {
        return importExcel(StringUtils.EMPTY, is);
    }
}