摘要:
空指针异常 (NullPointerException)(NPE) 是开发过程中最常见的问题之一 前人已经总结了很多避免空指针问题的方法。包括: 对于非空的对象,使用 Objects.requireNonNull (target) 判空 对于数组对象,返回空数组而非 null 对于非数组对象,使用 阅读全文
摘要:
快速格式化 格式化代码是一个好习惯. IDEA 提供了快速格式化的功能. 快捷键为: Alt + Ctrl + L. 设置格式化范围 但是很多人不愿意使用这个快捷键, 因为害怕这样会格式化其他人写的代码. 实际上 duck 不必害怕, 因为 IDEA 早就为你想到了这一点 我们阔以通过设置格式化范围 阅读全文
摘要:
在工作中经常会遇到包冲突造成的问题. 比如: 同一个包的不同版本依赖于另一个包的不同版本. 严重一点的会造成循环依赖, 甚至会导致 CI 时间超长乃至超时等问题 并且这种问题隐蔽性极高, 造成的潜在资源浪费不容小觑. 因此我们需要方便的找出潜在的冲突包, 以便及时定位问题或优化依赖 正好, IDEA 阅读全文
摘要:
当 Module 依赖的其它 Module (需在 IDEA 内被加载) 发生变更后, 可以通过 Maven Helper 插件的 Reimport 功能快速重新导入 步骤如下: 使用 Alt + Ctrl + Shift + R 打开 Maven Helper 操作界面 点击 Reimport 阅读全文
摘要:
质量门禁 使用 SonarLint 插件检测代码质量问题 SonarLint 插件可以在团队没有 SonarQube 服务器的情况下使用默认配置检测代码质量 当团队拥有 SonarQube 服务器时,可以直接同步服务器中的配置,实时检测代码质量,而不用等到 CI 时才进行检测,极大的提高了开 (mo 阅读全文
摘要:
代码审核 使用 IDEA 集成的 Gerrit 功能 Gerrit 是很优秀的代码审核平台,IDEA 同样能与其深度集成。 使用 Gerrit 插件可以在 IDEA 内部对他人的代码进行审核。相比在浏览器中审核,其优点是: 可以用快捷键快速进行打开主界面 / 打开代码对比界面 / 在代码变更点之间跳 阅读全文
摘要:
代码阅读 使用书签定位需要频繁查看的代码 IDEA 自带书签功能 通过该功能,开发人员可以在繁杂的代码中精准标记自己感兴趣的代码,需要再次查看时无需浪费时间翻找。 比如:在我们在项目代码中定位 bug 的时候,往往需要顺着方法调用链向下查看代码,这个时候如果想跳到最上层需要在很多 TAB 页中手动查 阅读全文
摘要:
代码编写 在个人工作流中, 代码编写是人与 IDE 交互最复杂的阶段。下面笔者会从多个维度进行描述 代码重构 在编写代码的过程中,会遇到方法体过长 / 重复代码块 / 方法名称不合理等问题。 此时就需要对代码进行重构,常用的重构行为包括:方法重命名 / 提取方法 / 在类之间迁移方法等 更多的重构方 阅读全文
摘要:
持续集成 使用 Jenkins 插件进行键盘流 CI / CD 快速操作 在代码审核完后需要进行 CI / CD 操作,切换到浏览器再用鼠标在网页版 Jenkins 控制台上点来点去进行操作太麻烦 IDEA IDE 中的Jenkins Control插件可以帮助我们快速的进行 CI / CD 操作 阅读全文
摘要:
代码调试 在 IDE 中快速生成冗长的 Arthas 远程调试命令 当我们使用 Arthas 进行远程调试时,经常需要在远程终端中输入很长的命令,而且很多命令的参数还需要反复查询官方文档,非常麻烦。 使用 IDEA 的 arthas idea 插件,可以快速生成所需的命令。 比如我们想监听某个方法的 阅读全文