paint-brush
协调代码审查工作流程:人类和人工智能的统一方法经过@pullflow
289 讀數

协调代码审查工作流程:人类和人工智能的统一方法

经过 Pullflow6m2023/09/12
Read on Terminal Reader

太長; 讀書

我们都是远程人员,这扰乱了我们的代码审查魔力。这就像当您的朋友的互联网连接速度较慢时尝试玩合作视频游戏一样。
featured image - 协调代码审查工作流程:人类和人工智能的统一方法
Pullflow HackerNoon profile picture
0-item
1-item

要点

  1. 异步并不总是很棒:远程工作的灵活性伴随着异步通信的挑战,这可能会减慢代码审查过程。
  2. 上下文切换是一个嗡嗡声:在编码和代码审查之间不断切换会比您所说的“合并冲突”更快地降低您的生产力。
  3. 人工智能和自动化改变了游戏规则:它们可以处理重复性任务,甚至提供有价值的见解,但它们并不能取代人类的专业知识。
  4. 统一的、对话驱动的工作流程是未来:将人类、人工智能和自动化整合到一个无缝对话中可以使代码审查过程更加高效和愉快。

好吧,让我们切入正题。我们现在都穿着睡衣编码,虽然这对于工作与生活的平衡来说非常棒,但对于代码审查来说有点像垃圾箱之火。还记得过去的美好时光吗?当时您可以将椅子推到同事的办公桌前并说:“嘿,您能快速浏览一下这个功能吗?”是的,那些日子就像 iPhone 上的耳机插孔一样消失了。


那么,到底是怎么回事呢?我们都是远程人员,这扰乱了我们的代码审查魔力。这就像当你的朋友的互联网连接很慢时试图玩合作视频游戏一样——令人沮丧且缺乏乐趣。但是,嘿,我们是工程师。我们以解决问题为生,对吗?因此,让我们深入研究这个烂摊子,看看是否可以清理一下。

远程代码审查的好处、坏处和丑陋之处

异步困境:等待游戏

异步通信既是远程工作的福也是祸。一方面,这太棒了。无论您是早起的鸟儿还是夜猫子,您都可以在效率最高的时候工作。但有趣的是:当你喝着早晨的咖啡时,你在世界另一端的队友可能正处于快速眼动睡眠中。因此,您只能等待,希望他们能在截止日期临近之前审查您的代码。这就像等待软件更新完成——你知道这是必要的,但是天哪,这很乏味吗?

上下文切换:大脑最大的敌人

您深入代码、专心致志,然后——砰!——Slack 通知。这是一个代码审查请求。通常,这会分散你的注意力,迫使你转换齿轮和环境。但如果 Slack 通知确实有帮助呢?如果它允许您在不离开编码环境的情况下处理审核怎么办?


Pullflow通过提供与现有工具的双向集成来解决这个问题。它简化了您的工作流程,因此即使是 Slack 通知也能成为编码过程的无缝部分,而不是破坏性元素。

工具过载:瑞士军队的噩梦

GitHub、Jira、Slack、Jenkins,甚至没有让我开始使用公司喜欢构建的定制内部工具,以实现“简化工作流程”。但说实话,你常常感觉自己就像一个旋转盘子的马戏团表演者。每个工具都有自己的一组通知、怪癖和您甚至没有要求的“必须使用”功能。这就像拥有一把瑞士军刀,你只使用刀片,但必须随身携带开瓶器、牙签和迷你螺丝刀“以防万一”。

人工智能和自动化:未来还是昙花一现?

AI:会顶嘴的橡皮鸭

代码审查中的人工智能不再只是一个美化的拼写检查器。将其视为拥有博士学位的代码顾问。在计算机科学中。利用决策树等机器学习算法,它可以优化您的代码,甚至提出算法改进建议。使用自然语言处理 (NLP),它可以分析您评论的语气。这就像有一个时刻保持警惕的代码审查员,可以实时标记安全风险。

自动化:CI/CD 交响乐

持续集成和持续部署 (CI/CD) 就像乐队的节奏部分,经常被忽视,但对于保持节奏至关重要。自动化测试、构建和部署已成为现代代码审查工作流程不可或缺的一部分。当您提交拉取请求时,自动化测试会像发条一样启动,立即提供有关您的更改是否符合要求的反馈。这就像有一位私人校对员在其他人看到之前检查您的工作。但请记住,CI/CD 的好坏取决于您编写的测试。垃圾进垃圾出。

聊天机器人:我们从来不知道我们需要数字实习生

代码审查过程中的聊天机器人就像实习生一样,总是渴望提供帮助,但不期望获得薪水。他们可以处理日常任务,例如更新票证状态、合并已批准的拉取请求,甚至通知团队成员有关待审核的信息。


这就像多了一双双手来处理繁重的工作,让您能够专注于更复杂和更具创造性的任务。但要注意的是,聊天机器人被编程为只注重字面意思。配置不当的机器人可能会造成严重破坏,就像实习生误解“给我泡杯咖啡”并最终订购了 100 台浓缩咖啡机一样。

使用Pullflow解决代码审查复杂性

让我们花点时间讨论一下 Pullflow,该工具以其独特的方法应对代码审查挑战,在开发人员社区中引起了轰动。 Pullflow 不仅仅是另一个平台,它的目标是成为我们一直在剖析的具体问题的解决方案。

Pullflow 如何解决这些问题:

  1. 上下文切换:还记得在 IDE、聊天应用程序和代码存储库之间切换所带来的精神损失吗? Pullflow 双向集成这些平台,减少了不断切换选项卡的需要。
  2. 异步问题:所有 PR 活动的单个线程使每个人都能实时更新,从而减轻时区差异和异步通信造成的延迟。
  3. AI 辅助对话:Pullflow 的上下文 AI 在您的 Slack PR 讨论中提供实时答案和反馈,就像待命的代码审查专家一样。
  4. 可操作的命令:允许通过 Slack 命令立即执行操作,从而减少仅仅为了执行分配 PR 等简单任务而切换上下文的需要。
  5. 绩效指标:提供实时指标来帮助您跟踪和改进审核周期和响应时间

需要考虑的注意事项:

  1. 平台限制:目前仅支持 GitHub、Slack 和 VS Code,这对某些团队来说可能是一个限制。


Pullflow 将您所有的公关活动、自动化和对话汇集到一处。这就像有一个用于代码审查的任务控制中心。

梦想:统一的、对话驱动的工作流程

我们都渴望有一个统一的、对话驱动的代码审查工作流程。想象一下人类专业知识、人工智能见解和自动化的无缝集成,所有这些都和谐地工作。想象一下代码、注释和自动反馈共存的单个线程,允许实时协作和决策。

人的因素:代码审查的核心

任何代码审查流程的核心都是人工审查者。我们将我们的经验、直觉和创造力带到桌面上。我们捕捉人工智能可能错过的细微差别,了解代码运行的上下文,并提供超越单纯语法和逻辑的见解。我们是爵士音乐家,知道何时坚持乐谱,何时即兴创作。

人工智能和自动化:支持人员

人工智能和自动化很棒,但它们只是配角,而不是主角。他们应该增强人的因素,而不是取代它。这就像用计算器做数学一样——你仍然需要知道如何做数学;计算器只是让它变得更快、更准确。

工具:交易工具

我们使用的工具——GitHub、Jira、CI/CD 平台、聊天机器人——是产生声音的工具。它们需要经过精心调整和良好维护才能产生和谐的结果。工具的选择可以决定您的代码审查过程的成败,因此请明智地选择。

案例研究:来自战壕: Runn.io的代码审查周转

这里有一些值得思考的地方。 Runn.io面临着我们许多人都知道的同样的代码审查瓶颈。集成 Pullflow 后,他们的审阅等待时间从拖沓的 14 小时骤降到了 4 小时。这就是更少的等待时间和更多的编码时间,这正是我们都想要的,对吗?

结论:未来由我们创造,所以让我们开始努力吧

我们正处于人类聪明才智和技术创新的十字路口,一手拿着键盘,另一只手拿着拉请求。代码审查的未来不是选择完美的工具或方法,而是选择完美的工具或方法。它是关于创建一种将人类最好的技能和尖端技术结合起来的整体方法。

你的下一步行动

  1. 审核您当前的工作流程:确定瓶颈和需要改进的领域。
  2. 涉足人工智能:如果人工智能还不是您工具包的一部分,那么现在是时候开始尝试了。
  3. 优化沟通:考虑使用 Pullflow 等工具来集中公关活动并减少上下文切换。
  4. 投资培训:无论是通过内部培训还是外部课程,确保您的团队了解代码审查方面的最新最佳实践。


因此,让我们成为未来的架构师,代码审查不仅仅是一个复选框,而是一个协作的、丰富的过程,可以提升我们的代码和我们自己。如果我们能在喝着手工咖啡、穿着我们最喜欢的乐队的 T 恤的同时做到这一点,我们就真的中了大奖。