Tianyi's Blog Tianyi's Blog
首页
  • 计算机网络
  • 操作系统
  • 计算机科学
  • Nginx
  • Vue框架
  • 环境配置
  • Java
  • JVM
  • Spring框架
  • Redis
  • MySQL
  • RabbitMQ
  • Kafka
  • Mirror Sites
  • Dev Tools
  • Docker
  • Jenkins
  • Scripts
  • Windows
  • 科学上网
  • 旅行
  • 网站日记
  • 软件
  • 电子产品
  • 杂野
  • 分类
  • 友情链接
GitHub (opens new window)

Tianyi

一直向前,永不停止
首页
  • 计算机网络
  • 操作系统
  • 计算机科学
  • Nginx
  • Vue框架
  • 环境配置
  • Java
  • JVM
  • Spring框架
  • Redis
  • MySQL
  • RabbitMQ
  • Kafka
  • Mirror Sites
  • Dev Tools
  • Docker
  • Jenkins
  • Scripts
  • Windows
  • 科学上网
  • 旅行
  • 网站日记
  • 软件
  • 电子产品
  • 杂野
  • 分类
  • 友情链接
GitHub (opens new window)
  • Java

  • Golang

  • JVM的奇妙世界

  • Spring

  • Spring增强封装

  • Redis

  • MySQL

  • RabbitMQ

  • Kafka

  • 分享

    • Idea的基本使用
      • 第一部分——界面
      • 第二部分——快捷键
        • 快捷键
      • 第三部分——数据库
      • 第四部分——提高代码质量
    • Gradle 实践操作指南及最佳实践
    • python环境
    • BadTasteCode && 优化
  • 后端
  • 分享
tianyi
2024-01-09
目录

Idea的基本使用

# 第一部分——界面

其实主要就是围绕着它的布局来介绍一下

我们大概知道这个软件它是在哪里去导入项目的,它又可以为我们导入项目去做哪些配置。这个 idea 比较牛的地方在于使用起来真的很方便。我去导入一些旧的 eclipse 的项目的时候,也非常的顺利,他能为我提供很多旧的配置和新版本 id 相兼容的一些内容。他这里做的非常好

另一个就是我们知道应该怎样为这些项目去配置相对应的环境。比如说我们 Java 项目,就有我们对应的 jdk 环境,以及我们的 maven 环境以及其他的插件。比如说我们常用的一个 lombok,就需要一个 lombok 插件来帮助我们去做到一些事情。

image-20250109222811886

idea 的插件生态非常的丰富,这里推荐几个比较好用的插件

  • Translation 3.6.7 → 3.6.8 Yii.Guxing
  • AceJump 1.1M ☆ 4.79 Breandan Considine
  • Show Comment 108.6K☆4.83林万程
  • Rainbow Brackets 18.6M ☆4.49 Zhihao Zhang(其实对于色盲来说,还是希望自己有时间能开发一个自己用哈哈)
  • Key Promoter X 6.8M ☆4.95 Hal's Corner _日常操作时会提醒其快捷键是什么
  • Grep Console 13.2.0-IJ2023.3 Vojtech Krasa
  • One Dark Theme 5.12.0 Mark Skelton

# 第二部分——快捷键

在这一节我们主要需要掌握到的一些就是例如一些代码自动补全、代码生成(如getter和setter)、重构(包括重命名、移动、改变函数签名等)、代码模板和快速修正提示等功能。

  • 重构(Refactoring):Shift + F6 用于重命名变量、方法、类、文件等,而 Ctrl + Alt + Shift + T 可以打开一个重构的选项列表,让你选择具体的重构操作。

  • 代码模板(Live Templates):可以通过 Ctrl + J 来显示可用的模板列表,快速插入预设的代码片段。

    • 代码模板的妙用在于,我们可以提前的将公司里统一预设的异常抛出格式、返回值格式、service层格式、repo层CRUD格式写到模板里面,能够大大加快编码的速度(当然,AI 更快)
  • 快速修正提示(Quick Fixes):当IDE检测到代码问题时,可以通过 Alt + Enter 来触发快速修正提示,这个功能对于解决编译错误、优化代码或是添加必要的方法实现非常有帮助。

  • 一些快捷键

    • Ctrl Shift I:不打开文件查看该方法的实现

    • Alt Insert : 快速实现类的可重写方法、构造函数等

    • Ctrl O:快速实现类的可重写方法

    • Ctrl Alt B : 方法的具体实现

    • Alt 上下箭头:当前文件下鼠标快速切换到下一个类或方法(不太好用)

# 快捷键

快捷键 描述
Ctrl + W 选中单词
Ctrl + ←→ 上一个/下一个单词
Ctrl + Shift + Enter 自动完成
Alt + Enter 智能提示
Ctrl + Alt + L 格式化代码
Ctrl + (Shift) + / 行注释 / 块注释
Ctrl + Alt + Shift + J 列操作
Shift + F6 重命名
Shift + F9 调试
Shift + F10 运行
F8 单步运行
F9 恢复运行至下一个断点
Shift+Ctrl+F8 查看所有断点

# 第三部分——数据库

个人使用这款数据库工具还是比较方便的,但这款数据库的劣势在于对于表和表之间的关联数据(例如关联表之间的外键太多的情况),它做的可能就没那么好了。这一方面的困难的查询和修改操作,都是只能通过 AI 来帮我去做的

image-20250109222703904

# 第四部分——提高代码质量

利用一些常见的代码检查器:Inspect Code,发现代码中的潜在问题和性能瓶颈,掌握代码优化的方法

阿里巴巴的插件(Alibaba Java Coding Guidelines)也可以,它这里面包含了常量定义、命名、规约、注释规范并发处理的一些常见的最优实践

image-20250109223646462

一些常见的易犯错误

错误信息说明 解释说明 解决方法/建议
Boxing/unboxing to parse a primitive 字符串转换为基本类型时使用了装箱和拆箱操作,例如 Integer.valueOf("123") 转换为 int 类型。 使用 Integer.parseInt("123") 而不是 Integer.valueOf("123") 来避免不必要的装箱。
Method concatenates string using + in a loop 在循环中使用 + 进行字符串连接,每次循环都会创建新的 String 对象,造成性能问题。 使用 StringBuilder 或 StringBuffer 来连接字符串,避免每次都创建新对象。
Unread field: should this field be static? 声明为实例字段但未被使用的字段,应该考虑是否可以改为 static 字段。 如果该字段不需要依赖实例,应该将其声明为 static,减少不必要的内存消耗。
Should be a static inner class 内部类没有使用 static 修饰符,可能导致不必要的内存开销。 如果内部类不需要访问外部类的实例字段或方法,可以将其声明为 static 内部类。

调试技巧:能够使用IDEA的调试工具进行断点设置、单步执行、查看变量值、条件断点等,以便于快速定位和解决问题。

打断点基本就是 step over step in 这些东西掌握了,还有一些查看变量值、valuable,还有一些条件断点、多线程等等,这些都能够方便我们去快速的定位解决问题。主要这一部分要多用,就会慢慢有经验了

image-20250109225337097

版本控制:熟悉如何在IDEA中使用Git等版本控制系统进行代码的提交、合并、分支管理和冲突解决。

代码分析和优化:使用IDEA的代码检查器(如Inspect Code)来发现代码中的潜在问题和性能瓶颈,掌握代码优化的方法。

测试工具:了解如何在IDEA中配置和运行单元测试,使用测试框架如JUnit。

构建工具和依赖管理:掌握如何使用IDEA管理和构建项目,熟悉Maven或Gradle等构建工具的配置和使用。

完善页面 (opens new window)
部署脚本-docker-compose
Gradle 实践操作指南及最佳实践

← 部署脚本-docker-compose Gradle 实践操作指南及最佳实践→

最近更新
01
JDK
02-23
02
BadTasteCode && 优化
09-11
03
Gradle 实践操作指南及最佳实践
09-11
更多文章>
Theme by Vdoing | Copyright © 2021-2025 Tandy | 粤ICP备2023113440号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式