paint-brush
コード レビュー ワークフローの調和: 人間と AI の統合アプローチ@rabiaahmed
325 測定値
325 測定値

コード レビュー ワークフローの調和: 人間と AI の統合アプローチ

Pullflow6m2023/09/12
Read on Terminal Reader

長すぎる; 読むには

私たちは全員リモートにいるので、コードレビューの気分が台無しになってしまいます。これは、友人のインターネット接続が遅いときに協力ビデオ ゲームをプレイしようとするようなものです。
featured image - コード レビュー ワークフローの調和: 人間と AI の統合アプローチ
Pullflow HackerNoon profile picture
0-item
1-item

重要なポイント

  1. 非同期は常に素晴らしいとは限りません: リモート作業の柔軟性には非同期通信という課題が伴い、コード レビュー プロセスが遅くなる可能性があります。
  2. コンテキストの切り替えは非常に厄介です。コーディングとコード レビューの間で常に切り替えを行うと、「マージ競合」と言うよりも早く生産性が低下する可能性があります。
  3. AI と自動化はゲームチェンジャーです。それらは反復的なタスクを処理し、貴重な洞察を提供することさえできますが、人間の専門知識に代わるものではありません。
  4. 統合された会話主導のワークフローが未来です。人間、AI、自動化を 1 つのシームレスな会話にまとめることで、コード レビュー プロセスをより効率的で楽しいものにすることができます。

さて、本題に入りましょう。私たちは今、パジャマを着てコーディングしています。これはワークライフ バランスにとっては素晴らしいことですが、コード レビューにとってはちょっとしたゴミ箱のような状況です。同僚のデスクに椅子を転がして、「この機能をちょっと見てもらえませんか?」と言うことができた古き良き時代を思い出してください。そう、そんな時代はiPhoneのヘッドフォンジャックと同じように過ぎ去ったのです。


それで、どういうことですか?私たちは全員リモートにいるので、コードレビューの気分が台無しになってしまいます。それは、友達のインターネット接続が遅いときに協力ビデオ ゲームをプレイしようとするようなものです。イライラするし、面白くありません。でもまあ、私たちはエンジニアです。私たちは問題を解決して生計を立てていますよね?それでは、この混乱に飛び込んで、少しきれいにできるかどうか見てみましょう。

リモートコードレビューの良い点、悪い点、そして醜い点

非同期の問題: 待ったなしのゲーム

非同期コミュニケーションはリモートワークの恩恵でもあり、同時に呪いでもあります。一方で、それは素晴らしいことです。早起きでも夜更かしでも、最も生産性が高いときに仕事をすることができます。しかし、ここがキッカーです。あなたが朝のコーヒーを飲んでいる間、地球の裏側にいるチームメイトはおそらくレム睡眠の半分に入っているでしょう。そのため、締め切りが迫る前にコードをレビューしてくれることを期待しながら、待ちのゲームをすることになります。それは、ソフトウェアのアップデートが完了するのを待つようなものです。必要なことは分かっていますが、まあ、面倒ですよね。

コンテキストスイッチング: 脳の最大の敵

コードの奥深くまで入り込み、ゾーンに入った後、—BAM!—Slack 通知が届きます。コードレビューのリクエストです。通常、これにより集中力が狂い、ギアや状況を切り替える必要が生じます。しかし、その Slack 通知が実際に役立つとしたらどうなるでしょうか?コーディング環境を離れることなくレビューを処理できるようになったらどうなるでしょうか?


プルフローは、既存のツールとの双方向の統合を提供することで問題に対処します。ワークフローが合理化されるため、Slack 通知さえも中断的な要素ではなく、コーディング プロセスのシームレスな一部になります。

ツールの過負荷: スイス軍の悪夢

GitHub、Jira、Slack、Jenkins、そして企業が好んで構築する「ワークフローの合理化」を約束する特注の社内ツールを私に始めさせてはくれません。しかし、正直に言うと、皿を回すサーカスの演者のように感じることがよくあります。各ツールには、独自の通知、癖、そして求めてもいない「必須」機能のセットがあります。それは、刃だけを使用するスイスアーミーナイフを所有しているのに似ていますが、「万が一に備えて」コルク栓抜き、つまようじ、ミニドライバーを持ち歩かなければなりません。

AI と自動化: 未来か、それとも単なる流行か?

AI: 言い返すゴム製のアヒル

コードレビューにおける AI は、もはや単なる美化されたスペルチェッカーではありません。博士号を持ったコードコンサルタントだと考えてください。コンピューターサイエンスの分野で。デシジョン ツリーなどの機械学習アルゴリズムを活用してコードを最適化し、アルゴリズムの改善も提案します。自然言語処理 (NLP) を使用して、コメントの調子を分析できます。これは、リアルタイムでセキュリティ リスクにフラグを立てる、常に警戒するコード レビュー担当者がいるようなものです。

オートメーション: CI/CD シンフォニー

継続的インテグレーションと継続的デプロイメント (CI/CD) はバンドのリズム セクションに似ており、見落とされがちですが、テンポを維持するためには重要です。自動化されたテスト、ビルド、デプロイメントは、最新のコード レビュー ワークフローに不可欠な部分になっています。プル リクエストを送信すると、時計仕掛けのように自動テストが開始され、変更が適切に行われているかどうかについてのフィードバックが即座に提供されます。それは、あなたの作品を他の人が見る前にチェックしてくれる個人的な校正者がいるようなものです。ただし、CI/CD の効果は、作成したテストによって決まることに注意してください。ゴミが入って、ゴミが出る。

チャットボット: 必要性を知らなかったデジタル インターン

コード レビュー プロセスのチャットボットは、常に助けたいと思っているものの、給料を期待していないインターンのようなものです。チケットのステータスの更新、承認されたプル リクエストのマージ、保留中のレビューについてのチーム メンバーへの通知などの日常的なタスクを処理できます。


面倒な作業を引き受ける手がもう 1 組増えたようなもので、より複雑で創造的なタスクに集中できるようになります。ただし、チャットボットは文字通りの考えを持つようにプログラムされていることに注意してください。不適切に構成されたボットは、「コーヒーを作ってくれる」と誤解してエスプレッソマシンを 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 は、PR 活動、自動化、会話をすべて 1 か所にまとめます。コードレビューのためのミッションコントロールセンターがあるようなものです。

夢: 統合された会話主導のワークフロー

私たち全員が切望しているのは、コード レビューのための統合された会話主導のワークフローです。人間の専門知識、AI の洞察、自動化がシームレスに統合され、すべてが調和して機能することを想像してみてください。コード、コメント、自動フィードバックが共存する単一のスレッドを想像してください。これにより、リアルタイムのコラボレーションと意思決定が可能になります。

人間的要素: コードレビューの核心

コード レビュー プロセスの中心となるのは人間のレビュー担当者です。私たちは経験、直感、創造性を活かします。 AI が見逃す可能性のあるニュアンスをキャッチし、コードが実行されるコンテキストを理解し、単なる構文やロジックを超えた洞察を提供します。私たちは、いつ楽譜に忠実で、いつ即興演奏をすべきかを知っているジャズミュージシャンです。

AI と自動化: サポート キャスト

AI と自動化は素晴らしいものですが、それらは主役ではなくサポートキャストです。人間的な要素を置き換えるのではなく、それを強化する必要があります。これは、計算を行うために電卓を使用するようなものです。それでも、計算の方法を知る必要があります。電卓は計算をより速く、より正確にするだけです。

ツール:取引手段

私たちが使用するツール (GitHub、Jira、CI/CD プラットフォーム、チャットボット) は、サウンドを生み出す手段です。調和のとれた結果を生み出すには、細かく調整し、よくメンテナンスする必要があります。ツールの選択によってコード レビュー プロセスが左右されるため、賢明に選択してください。

ケーススタディ:塹壕から: Runn.ioのコードレビューのターンアラウンド

ここで考えさせられることがあります。 Runn.io も、私たちの多くがよく知っている同じコード レビューのボトルネックに直面していました。 Pullflow を統合した後、レビューの待ち時間は、長引く 14 時間から 4 時間に急減しました。これにより、待ち時間が減り、コーディングに多くの時間を費やすことができます。これは誰もが望んでいることですよね。

結論: 未来は私たちが作るものだから、仕事に取り掛かりましょう

私たちは片手にキーボードを持ち、もう片方の手でプルリクエストを持って、人間の創意工夫と技術革新の岐路に立っています。コードレビューの未来は、完璧なツールや手法を選択することではありません。それは、人間の最高のスキルと最先端のテクノロジーを組み合わせた総合的なアプローチを作成することです。

あなたの次の動き

  1. 現在のワークフローを監査する: ボトルネックと改善の余地がある領域を特定します。
  2. AI に手を出してみる: AI がまだツールキットに含まれていない場合は、今が実験を始める時期です。
  3. コミュニケーションの最適化: PR 活動を一元化し、コンテキストの切り替えを減らすプルフローのようなツールを検討してください。
  4. トレーニングに投資する: 内部トレーニングまたは外部コースを通じて、チームがコード レビューの最新のベスト プラクティスを最新の状態に保てるようにします。


コード レビューが単なるチェックボックスではなく、コードと私たち自身の両方を向上させる、協力的で充実したプロセスとなる未来の設計者になりましょう。そして、手作りのコーヒーを飲みながら、お気に入りのバンドの T シャツを着ながらそれができれば、私たちは本当に大当たりです。