SpringBoot日常:编码规范之import *

前言

日常开发中,我们在编码过程中会经常忽略import 包的问题,我们会使用import语句中的通配符*来引入整个包中的所有类。尽管这样做能够简化代码编写和阅读,但是过度使用import *也会带来一些坏处,本文将探讨这些问题并给出相应的解决方案。

问题剖析

在讨论import *的坏处之前,让我们先来看一下Java代码中的包引入机制。Java中使用import语句来告诉编译器我们希望在代码中使用其他包中的类。一般来说,我们可以使用以下两种方式来引入包中的类:

  • 显示引入:使用import语句引入特定的类,例如import java.util.Map;。
  • 通配符引入:使用import语句引入整个包中的所有类,例如import java.util.*;。

对于较小的项目来说,使用import *可能不会带来太大的问题。但是在大型项目中,使用import *可能导致以下几个问题:

1、命名冲突:当引入多个包时,可能会出现类名相同的情况,这时编译器将无法确定使用哪个类,从而导致编译错误。

2、可读性降低:通常情况下,我们会根据类的包名来判断其功能。但是使用import *后,编译器无法提供这样的信息,使得代码的可读性大大降低。

3、冗余引入:使用import *会导入整个包中的所有类,但是实际上我们可能只需要其中的几个类。这样就会导致代码中引入了很多不需要的类,增加了代码量。

4、编译时间延长:使用import *会导致编译器需要处理更多的类,从而增加了编译的时间。

解决

说了这么多,那我们要如何去尽可能规避这个问题呢?

一般来说我们是用工具或流程进行解决。

这里用idea作为说明,通过如下设置让 IDEA 不会在导入时添加*,这样设置其实并不是一定不会变成 import xxx.*,而是在同包类大于 999 个时才使用

相关推荐
Lhappy嘻嘻13 小时前
Java IO|File 文件操作 + 字节流 / 字符流完整笔记 + 递归删除文件实战
java·笔记·php
To_OC13 小时前
手写 AI 编程 Agent 的命令执行工具:我被 child_process 坑出来的实战经验
后端·node.js·agent
伊玛目的门徒13 小时前
试用leetcode之典中典 二数之和问题
java·算法·leetcode
逝水无殇15 小时前
C# 异常处理详解
开发语言·后端·c#
懒鸟一枚16 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
我命由我1234517 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
考虑考虑18 小时前
Sentinel安装
java·后端·微服务
IT_陈寒18 小时前
SpringBoot自动配置失灵?你可能忘了这个关键注解
前端·人工智能·后端
碎碎念_49218 小时前
SpringBoot + Vue 前后端分离从 0 到 1 完整环境配置流程
vue.js·spring boot·后端
逝水无殇18 小时前
C# 文件的输入与输出详解
开发语言·数据库·后端·c#