Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在IDEA中得到沉浸式Code Review新体验

在IDEA中得到沉浸式Code Review新体验

作者头像
是Vzn呀
发布于 2023-09-11 07:22:59
发布于 2023-09-11 07:22:59
4230
举报
文章被收录于专栏:架构悟道架构悟道

大家好,好久不见,又见面了。

三月三日天气新,长安水边多丽人。

在大多数古诗词中,水边就是一个邂逅爱情的神奇地方,尤以《诗经》为甚,比如大家耳熟能详的所谓伊人,在水一方。时光荏苒,沧海桑田,在那从古流到今的江河之上,总归是留下了他们的相思。

与诗词世界的水边多丽人相比,码农的世界似乎又是另一番景象、更多地是常在河边走、哪有不湿鞋。经常在所谓的“屎山”代码中修修补补,总会有踩不尽的坑。这个时候,代码review便成了开发团队中质量保证的关键一环,很多做的比较好的团队,也会有定期代码review的制度。

在停止更文消失的这段时间里,我做了件大事,见证了儿子的出生并陪伴其一天天的成长。

除此之外,还干了一件小事,将几年前开发的一个IDEA的Code Review工具插件给重构了一版,还配套上对应的服务端,从一个单机版本地review工具,摇身一变成为了支持团队协同作业的检视平台。

自己使用了一段时间,也开源有一段时间了,收到了很多积极的反馈。所谓独乐乐不如众乐乐,这里给大家介绍并分享下,希望能够帮助到奋战在code review一线的朋友们。

最纯粹的代码检视能力

在自己的日常工作中有很大一部分时间都是用来检视团队的代码,各种检视工具也都体验了一下。市面上已有一些成熟的代码review系统,比如基于git提交记录进行的在线review操作(如MR单里面进行review,或者是gerrit的入库前review),或者是其余的一些开源的web界面端review系统,其功能虽然强大,但是使用上总是不够方便:

  1. 代码不同于小说审稿,纯文本类型的阅读式review模式,很难发现逻辑层面的问题,想跳转到某个具体方法中看下实现细节都不行
  2. 代码review完成之后,针对评审意见的逐个确认、跟踪闭环也比较麻烦
  3. 代码开发与代码review相互分离,平时写代码的时候发现个有问题的逻辑,不能方便的记录并传递、跟进其闭环

对于大部分程序员来说,在IDE中查看代码才是最佳模式,IDE才能给人阅读代码的熟悉体验。通过在IDE中进行查看、跳转、搜索、分析调用,这样才更有利于检视出深层的代码逻辑问题。此外,平时开发过程中,如果写代码的时候发现一些问题点,如果可以直接在IDE中记录下来,然后交由对应责任人去修改,这样的代码review体验岂不是更方便、更高效?

基于此想法,利用业余时间开发了IDEA配套的代码review插件,上到应用市场之后,也收获了相对比较高的评分,也收到很多同学的私信赞扬,说明程序员“苦code review久矣”!

看了下应用市场的下载统计,海外的使用记录竟然也有不少,难怪之前收到一些建议要求做国际化适配的(我的代码比我先去了漂亮国o(╯□╰)o)~

简单才是硬道理

既然都已经集成在IDEA中了,那么使用起来,主打的就是一个简单。

当我们阅读代码的时候,发现有问题或者有疑问的点时,只需要选中有问题的代码片段,然后按一下alt+a即可打开评审意见窗口,然后记录下评审意见,保存即可。

风水轮流转,当我们被别人提了评审意见的时候,只需要按住alt按钮,并点击对应记录,便可以弹出确认窗口,对评审意见进行确认与答复。

已添加的评审意见,会显示在IDEA窗口的下方表格中,双击评审意见表格中黄色的区域,可以直接在表格中修改对应字段的值;而双击评审意见表格中白色区域,可以直接跳转到评审意见对应的代码位置。代码中被提过评审意见的地方,代码行号旁边会有对应标识提醒(刚添加评审意见之后不会出现,必须要关闭当前类再次打开的时候才会出现)

IDEA本地的评审数据,支持一键导出到Excel表格中,进而可以用于发送或者归档等操作。同时,支持将本地Excel表格中内容导入到IDEA中,方便在IDEA中进行跳转查看意见内容,这个比较适合使用单机版本的同学,两个人之间交换评审意见。

主打的就是个性化

不同公司对代码review的要求也各不相同,可能会涉及到代码review的时候需要记录各种特征字段,比如问题归属版本代码分支严重级别等等。在最初的插件版本中,因为就是自己业务写着方便自己使用的,所以很多代码检视属性字段都是固定的。本次重构版本中,全面支持了检视字段随意定制能力,您可以通过简单的配置来定制满足您的个性化诉求,让代码检视活动更加契合您团队的气质。

V4.0.1开始支持评审字段内容的自定义能力,在设置中可以进行调整。

在字段自定义的界面中,对配置文件进行修改,增加或者删除字段值,修改完成之后点击保存即可。

重要

配置操作前,请先了解下配置字段中每个字段的具体含义,以免配置错误影响插件功能。具体说明,可以点此了解 如果配置错误导致插件功能出现问题,您可以点击配置界面左下角的恢复默认配置按钮,恢复到插件默认状态,然后重新去修改配置即可。

虽迟但到的团队协同

随着使用的同学数量增加,也收到越来越多的同学反馈希望加一个团队协作能力,这样可以方便团队内评审活动的开展。于是乎,在原有的本地review功能基础上,增加了插件配套的服务端交互能力,这样就实现了团队内成员间代码review意见的管理、统计以及彼此的协同。

团队协同版本的整体交互示意图,如下示意:

与本地单机版本不同,如需在团队中进行协作,需要团队自行部署私有化的代码检视协同服务端(毕竟代码是公司的核心资产,本地化部署可以解决所有代码管理的后顾之忧,不用担心源码泄漏),然后就可以很愉快的在团队内互(xiang)相(hu)检(shang)视(hai)了。

在开启团队协同前,需要打开IDEA插件界面进行网络版本配置。点击settings按钮,打开设置界面,可以切换界面中英文显示,然后切换到网络版本

在网络版本中,输入搭建好的服务端地址,点击连接测试成功后,再输入账号和密码,点击登录测试,验证成功后即可点击下方的保存按钮

设置完成后,会自动从服务端拉取已经配置好的评审字段配置信息、以及服务端的项目信息列表等。使用过程中用户也可以手动点击同步配置按钮,从服务端拉取最新的配置信息。

到这里,如果上述操作都是成功的,就已经大功告成了。下面就可以开始使用了。评审完成之后,点击提交服务端,可以将本地的评审意见内容提交到服务端(如果有配置webhook通知,还会收到相关消息推送,可以自行扩展推送到企业微信、钉钉或者公司内部的IM工具中)

选择具体项目以及拉取范围后,点击服务端下载可以从服务端拉取评审意见到本地IDEA中。比如别人给我提了评审意见,我可以拉取到自己的IDEA中,双击跳转到对应的代码位置,进行问题的确认处理,确认完成后,可以在本地IDEA中对评审意见进行答复,答复完成后提交本地数据到服务端,完成整个review过程的闭环。

怎么样,是不是很简单?

Last but not least, 如何获取

终于说到最核心的问题了。

如果你已经被上面的介绍所吸(xi)引(nao),并且迫不及待的想要试用的话,一种最简单的方式,就是在IDEA的plugin marketplace中搜索Code Review关键字,找到Code Review Helper插件并安装。

如果您需要在团队中来使用本插件,您可以选择部署配套的服务端,来实现团队成员之间的协同配合。具体部署方式,可以点此查看。

如果您有兴趣进行二次开发定制,也可以从上面地址中,找到对应的插件以及服务端的开源代码路径。

当然咯,在使用过程中,如果发现有bug或者有功能建议,欢迎提issue单,或者联系本人、一起深入地聊聊,时间允许的情况下,响应还是蛮快的,哈哈。。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构悟道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
团队的Code Review实践
高效地进行 Code Review 一直是我们想要做的事情,如何持续保持高效 Review 也是我们日常开发中所亟需解决的问题。
ThoughtWorks
2023/04/28
4390
团队的Code Review实践
IDEA中——Code Review Helper的安装和使用
1. 在IDEA安装插件中搜索code review helper,然后安装该插件,安装完成后重启IDEA
小马哥学JAVA
2022/11/14
2.8K0
MEP | Code Review 建议
一、目标和原则二、开发者三、评审者四、实用性建议1. 对事不对人2. 每个 Review 至少给一条正面评价3. 使用统一的代码风格规范4. 全员参加 Code Review,并设定各部分负责人5. 每次 Code Review 的量不宜太多6. 在写新代码之前,先 Review 掉需要评审的代码7. 如果你有更好的方案,尽管提出来8. 不要在 Review 中讨论需求,Review 就是 Review9. 不要试图一次就能改善所有的问题10. 交叉 Review五、小项目团队内部采用轮换 Review 的方式六、推荐几款代码检查工具静态代码风格检测Bug 扫描参考
双鬼带单
2021/09/09
4240
MEP | Code Review 建议
GitLab的代码评审工具你用对了吗?
从代码提交的时机来看,一般会有两种模式,即开源MR/PR模式和commit模式。而这这种划分默认是在代码提交的环节进行代码评审。因此从代码提交与代码评审的关系来看,也可以有所谓的代码提交时触发的代码评审和与代码提交无关的代码评审。而从代码评审的地点来看,一般也会有两种模式,即WEB模式和IDE模式。
Antony
2021/10/26
9.8K0
基于GitLab的Code Review教程
也就是说,使用GitLab进行Code Review就是在分支合并环节发起Merge Request,然后Code Review完成后将代码合并到目标分支。
KenTalk
2018/09/11
7.6K0
基于GitLab的Code Review教程
这样Review代码牛逼啦!
一个对项目负责的团队代码质量检查是必不可少的,有条件的团队经常有代码review习惯,这样可以使技术团队共同进步,但是一个庞大的工程做代码review其实是很麻烦的,所以就催生了很多的工具,今天我们就来通过工具来对代码进行扫描,通过发现问题并改进问题,使我们的项目代码更简洁,修复隐藏bug。
JAVA葵花宝典
2020/08/20
1.1K0
这样Review代码牛逼啦!
Code review - Phabricator Use guide introduce
今天给大家分享一下我之前在公司搭建的一个Code Review服务器的一些心得吧。由于现在移动互联网更新迭代速度很快,分布版本的速度基本上决定了创业公司的生命,所以代码质量在决定产品质量上也体现出尤其重要的地位。
一缕殇流化隐半边冰霜
2024/02/17
2730
Code review - Phabricator Use guide introduce
腾讯 AICR : 智能化代码评审技术探索与应用实践(上)
本文将详细阐述 腾讯云 AI 代码助手团队和 CR 团队在智能化代码评审领域的技术探索与应用实践。
腾讯云代码助手 CodeBuddy
2024/11/20
1K0
腾讯 AICR : 智能化代码评审技术探索与应用实践(上)
有了这 5 个 IDEA 插件,代码质量还不杠杠的!拿捏!
随着业务的发展,系统会越来越庞大,原本简单稳定的功能,可能在不断迭代后复杂度上升,潜在的风险也随之暴露,导致最终服务不稳定,造成业务价值的损失。而为了减少这种情况,其中一种比较好的方式就是提高代码质量,比如通过代码审查,从而降低错误风险,但是,代码审查难度大,代码缺陷、漏洞不易发现,且审查工作随着代码量增加而增加,审查效率低。
Java团长
2022/12/20
5.7K0
有了这 5 个 IDEA 插件,代码质量还不杠杠的!拿捏!
IDEA沉浸式编程体验
IntelliJ IDEA:前不久推出了一个新的概念Fleet编辑器。用过的人都知道,不过是模仿VScode整一套,但相比之下,fleet虽然在传统IDEA的基础上简约了不少,一旦打开智能模式,那内存占用刷一下就上去了,没个3GB+别想用起来。
堆栈哲学
2022/11/24
8540
IDEA沉浸式编程体验
iPad编程新体验:如何用IDE Code App实现远程在线开发告别电脑束缚
对于开发者来说,iPad 的强大性能让其在越来越多的场景下成为了生产力工具。不论是编辑文件、进行代码编写还是协同办公,iPad 都能轻松胜任,带来全新的移动办公体验。
命运之光
2025/01/10
2580
iPad编程新体验:如何用IDE Code App实现远程在线开发告别电脑束缚
AIGC 重塑软件工程 Code Review 篇:IDE 插件 + DevOps 平台协同组合
在软件开发团队里,Code Review 是非常重要的一个质量保障环境。好的 Code Review 能促进团队成长,差的 Code Review 形同流水。而在有了 LLM 之后,事情又发生了一些微妙的变化:
Phodal
2023/10/25
2K0
AIGC 重塑软件工程 Code Review 篇:IDE 插件 + DevOps 平台协同组合
推行代码提交规范是技术方案助力组织行为变革的典型案例
本号的读者估计大部分都写过代码。那么在提交代码(Commit)时, 会写Commit Message吗?Commit Message写的时候是随意发挥呢,还是会采用一个约定的格式?
Antony
2024/11/23
850
推行代码提交规范是技术方案助力组织行为变革的典型案例
新款 IDEA 神级插件!效率提升 100 倍!
作为后端开发者,有一款顺手的APi调试工具,往往可以起到事半功倍的效果,大大提升我们的开发效率,之前推荐过一款接口调试神器:Apipost ,不仅包含接口调试、自动生成API文档、Mock服务、流程测试等功能,还可以做到真正意义上的实时协作,最大程度缩短沟通交流上的时间成本,也减少了因数据层层传递产生的丢失风险。不少小伙伴和开发大佬们也都反馈非常好用!
终码一生
2023/09/21
9970
新款 IDEA 神级插件!效率提升 100 倍!
遥遥领先!idea 接口测试神器
最近注意到Apipost IDEA插件 2.0版本已上架至IDEA插件商店并与1.0版本互相独立存在,大家安装时可留意Apipost Helper 2.0,下面给大家分享一下新增功能。
芋道源码
2023/09/21
1.1K0
遥遥领先!idea 接口测试神器
IDEA插件推荐:Apipost-Helper
今天分享一下我最近在开发过程中发现的一个比较实用的IDEA插件—Apipost-Helper
灰小猿
2023/11/20
6420
IDEA插件推荐:Apipost-Helper
拯救Java Code Style强迫症|洞见
这篇文章缘起于上一个持续交付的咨询项目,当时正在指导客户团队的Java工程师做Code Review,发现一个很有意思的现象: 有一位工程师对Code Style特别在意,所以在Code Review的大部分时间中都是该工程师在指出哪里哪里的格式不对,但是团队并没有找到改进方法,每次的结论都是“下次我注意一点。” 我挺欣赏这位工程师对Code Style的认真态度,所以就萌生了“怎么拯救Code Style强迫症”的想法。 要点 Code Style不是个人喜好问题,它会影响工作效率,团队应将其当做工程实
ThoughtWorks
2018/04/17
1.2K0
拯救Java Code Style强迫症|洞见
Google是如何做Code Review的?| CSDN原力计划
我和几个小伙伴一起翻译了Google前一段时间放出来的Google’s Engineering Practices documentation(https://github.com/google/eng-practices),翻译后的GitHub仓库:https://github.com/xindoo/eng-practices-cn,欢迎加star。目前只是翻译完了,因为译者水平有限,还需要审校。另外后续Google肯定还会有新内容放出来,欢迎想参与贡献的小伙伴加入,也欢迎在GitHub上加star。
AI科技大本营
2019/12/02
8320
IntelliJ IDEA:JAVA开发人员的终极IDE-安装和使用教程
开始之前推荐一篇实用的文章:《多智能体强化学习在自动驾驶中的协作与优化探讨》,作者:【申公豹】。
Lion 莱恩呀
2024/12/07
5250
IntelliJ IDEA:JAVA开发人员的终极IDE-安装和使用教程
IntelliJ IDEA 2024.1 更新亮点汇总:全面提升开发体验
IntelliJ IDEA 2024.1 版本引入了许多新功能和改进,旨在提高开发效率和简化开发流程。主要亮点包括全行代码完成、对 Java 22 功能的支持、新航站楼、编辑器中的粘滞线、AI 助手的改进、用户体验提升、对 Java 和 Kotlin 的多项增强、改进的版本控制系统、构建工具、运行/调试体验、框架和技术支持,以及数据库工具和 Web 开发的改进。
猫头虎
2024/04/09
4K0
IntelliJ IDEA 2024.1 更新亮点汇总:全面提升开发体验
推荐阅读
相关推荐
团队的Code Review实践
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档