スタブ Peter McKee 氏、Sonar 開発者関係責任者 - インタビュー シリーズ - Unite.AI
私達と接続

記事執筆

Sonar の開発者関係責任者、Peter McKee 氏 – インタビュー シリーズ

mm

公開済み

 on

Peter McKee は、次の開発者関係責任者です。 ソナー、悪質なコードによる数兆ドル規模の課題を解決するプラットフォームです。 Sonar は、開発者と組織が体系的にクリーン コードの状態を達成できるようにし、すべてのコードが開発と運用に適合するようにします。 Sonar の Clean as You Code 手法を適用することで、組織はリスクを最小限に抑え、技術的負債を削減し、予測可能かつ持続可能な方法でソフトウェアからより多くの価値を引き出します。

最初にコンピューター サイエンスに惹かれたのは何ですか?

私は幼い頃からコンピューターに興味がありました。 最初は別のキャリアパスを追求していたときでさえ、私はコンピューターとプログラミングに引き戻され続けました。 ある時点で、私の父はバージニア州で鉄鋼会社を経営していましたが、その会社はコンサルタントグループを失ってしまいました。 私は若い頃にプログラミングを学んだことがあったので、彼は私に仕事をしてシステムを構築するよう誘ってくれました。 最初は正直何をやっているのか100%わかりませんでしたが、本や現場で学びながら完全に独学になりました。 それが私のコーディングとコンピューターへの興味をさらに駆り立て、コンピューター サイエンスへの興味をさらに強固なものにしました。

クリーン コードとは何なのか、またそれがなぜそれほど重要なのかをどのように定義するのか、明確にしていただけますか?

ソフトウェアが世界を蝕むだろうとは何年も前から言われてきましたが、私は今、それが正式に認められる段階に来ていると言えます。世界はソフトウェアの上に構築されており、すべての企業は事実上ソフトウェア会社です。 コードはすべてのソフトウェアの中核であり、ソフトウェアの動作とパフォーマンスを決定するため、優れたソフトウェアの基盤となるのは高品質のコードです。 これが理由です きれいなコード 一貫性があり、意図的で、適応性があり、責任のあるコードは非常に重要です。 クリーンなコードは、理解しやすく、変更しやすく、実行時にスムーズに動作し、技術的負債が含まれていないため、目的に適しています。 クリーン コードは、ソフトウェアが負債ではなく資産であり続けることを保証するために組織が採用すべき標準であり、今日のビジネスの成功の鍵となります。

クリーン コードは、あらゆる規模や成熟度レベルのチームや組織に利益をもたらし、結果としてソフトウェアの価値を高めます。 具体的なメリットとしては次のようなものが挙げられます。

  • 開発スキルの向上 — 開発者はコードを作成する際に問題を検出、理解、解決できると同時に、ベスト プラクティスも学ぶことができます。
  • 効率と生産性の向上 — 継続的なやり直し作業と長いフィードバック サイクルを削減し、生産性を向上させます。
  • 風評リスクとビジネスリスクを軽減します — クリーン コードにより、チームが本番環境に入る前に問題に積極的に対処できるようになり、セキュリティ リスクが軽減されます。
  • コードレベルの技術的負債を削減 — Clean Code は、アプリケーションの大規模な見直しや中断を必要とせずに、コードベースの負債に徐々に対処します。
  • ソフトウェア開発速度の向上 — クリーン コード標準と合理化されたフローにより DevOps の速度が向上し、市場投入までの時間の短縮が促進されます

コードの一貫性と構造の重要性について、また、一貫性のあるクリーンなコードの例は何ですか?

一貫したコード品質は、すべてのマネージャーやテクニカル ディレクターが維持することを目指しているものです。 一貫性は予測可能性につながるため、コードの品質に関しては一貫性が非常に重要です。 これは、統一された従来の方法で記述されています。すべてのコードは、異なる時点で複数の寄稿者が存在する場合でも、同様に見え、規則的なパターンに従っています。 一貫したコードは、フォーマットされ、従来どおりであり、識別可能です。 一貫したコーディング標準が採用されると、開発者の効率が向上し、納品の期待に迅速かつ正確に応えることができます。

予期せぬ状況に対処できるコードの重要性と、これがなぜ見落とされてはならないのかについて話してくれませんか?

開発者は、設計および開発プロセス中に予期せぬ事態が発生することを常に予測し、備えようとしますが、これをすべての場合に防ぐことはできません。 意図しない誤用や意図的に引き起こされた攻撃により、予期しない状態が発生する可能性があります。 これらの予期しない状態により、攻撃者が悪用できるセキュリティ上の脆弱性が誤って導入される可能性があります。 このため、開発者はコードの品質と安定性を常に向上させ、予期しない状況についてテストするように努める必要があります。 以下に従うことで、 コード通りにクリーンに このアプローチにより、チームは新機能をより効果的に加速し、不必要な再作業コストを回避し、人材の成長と維持を促進できます。 クリーン コードはセキュリティ、保守性、信頼性を促進し、開発者が予期しない状態をより効果的に予測して処理し、ソフトウェアをより迅速にバックアップして実行できるようにします。

コード生成に Generative AI を使用する利点について説明していただけますか?

ソフトウェア開発ライフサイクルに AI を組み込むことには、開発者がより効率的に作業できるなどのメリットがあります。 実際には、 GitHubの 調査によると、開発者は AI を使用することでタスクを 50% 以上早く完了できることがわかりました。 また、GenAI はコードをより迅速に生成できるため、ドキュメント化やコード スニペットの生成など、より退屈で日常的なタスクの負担が軽減され、より価値の高いやりがいのある作業に集中して、より多くの問題を解決できるようになります。複雑な問題。 ただし、コードがどのように作成されたとしても、コードが安全で信頼性があり、保守可能であることを確認するためにクリーン コード標準に照らしてチェックすることが重要です。

生成されたコードの潜在的な落とし穴やリスクにはどのようなものがありますか?

 AI は開発者の時間を解放し、より価値の高いプロジェクトに取り組み、生産性を向上させることができますが、リスクがないわけではありません。 AI の時代になっても開発者の需要がなくなることはないのはこのためです。 GenAI ツールは大量のコードを迅速に生成できるため、エラーが発生する可能性があります。 具体的な落とし穴をいくつか紹介します。

  • アカウンタビリティ: AI によって生成されたコードは、作成されたコードに対する責任を人々に負わせる能力を低下させ、問題の解決や対処を困難にする可能性があります。
  • 脆弱性: 主にクラウドソースの情報を使用しているため、生成されたコードが安全またはクリーンであるという保証はありません。 ビジネスを危険にさらす可能性のあるバグやセキュリティ問題が存在する可能性もあります。
  • 品質: AI は品質を二重チェックしません。また、AI から生成されたからといって、それが効率的で高品質であることを意味するわけではありません。
  • コンテキストがありません: 人間的な要素を失うということは、当然、問題やプロジェクトのコンテキストを失うことを意味します。 AI が生成したコードは、ジョブが完全に実行されていることを確認するためにレビューする必要があります。

開発者がコード (人間または AI によって生成されたコード) に対して Clean as You Code アプローチを採用すると、そのコードが開発および実稼働に適合し、組織の必要な基準を満たしていることを確認できます。

実稼働コードに適合すると考慮すべき他の変数にはどのようなものがありますか?

 クリーン コードの原則に準拠したコードを作成する開発者は、自分のコードが開発および運用に適していると確信できます。これは、コードが特定の特性に従っていることを意味します。

  • 一貫性: コードは一貫性があり、共通のスタイルに従っている必要があります。 たとえコードが複数の異なる開発者によって時間をかけて開発されたとしても、そのコードは同様の外観を持ち、以前に確立されたパターンに準拠している必要があります。
  • 意図的: 意図的なコードは、その目的を伝えるために注意を払って書かれたように読む必要があります。 利用可能な解釈は XNUMX つだけである必要があります。
  • 適応可能: 適応可能なコードは、コードの各行間の関係の管理と確認が容易になる方法でセグメント化および編成されます。 これにより、コードは簡単かつ確実に進化できるように構造化されます。
  • 責任者: コードとその開発者は、データに関する倫理的義務と社会規範に対する潜在的な影響に留意する必要があります。 このコードは最終的に、第三者に意図せず損害を与える継続的なリスクをもたらすべきではありません。

Sonar のさまざまなサービスについて、またプログラマーが責任ある安全で高品質なコードを迅速かつ体系的に構築するのに Sonar がどのように役立つかについて説明してもらえますか?

 Sonar は、業界をリードするアナライザーを通じて、包括的な方法でコーディングの問題を特定し、開発者を状況に応じて教育しながら、短いフィードバック ループで修正を推奨します。これにより、最終的に組織は、責任ある安全な高品質のコードを迅速かつ体系的に構築できるようになります。 Sonar ソリューションの中核となる要素は次のとおりです。 ソナーリント, ソナーキューブ (自己管理、オープンソース)、および ソナークラウド (SaaS) は、30 を超えるプログラミング言語、フレームワーク、インフラストラクチャ、11 の IDE、5,000 を超えるコーディングと言語固有のルールをサポートする広範なカバレッジを備えています。

IDE 拡張機能である SonarLint は、コードが記述された瞬間からリアルタイムで問題を見つけるための最初のチェック行を提供します。 問題の大部分を事前に検出し、開発者がコードのスペルチェックなどのエラーを発見して修正できるようにします。 Sonar 静的分析コード レビュー ツールである SonarQube および SonarCloud は、SonarLint との統合により、コードベースを継続的に検査および分析します。 SonarQube と SonarCloud は、品質ゲートを使用して、コードが運用環境の品質、セキュリティ、信頼性の定義された基準を満たしているかどうかを判断し、コードのバグ、脆弱性、セキュリティ ホットスポット、およびコードの臭いを検査します。

当社のソリューション セットと Clean as You Code 手法 (新規、追加、または編集されたコードをクリーンに保つために設定された基準に従うアプローチ) を組み合わせることで、開発者や組織はクリーン コードを提供し、既存のコードを有機的に修正できるため、新しいコードに集中できるようになります。 、ビジネス価値を高める革新的なプロジェクト

Sonar は、コードが準拠し、業界標準を満たしていることを確認するのにどのように役立ちますか?

Sonar を使用すると、開発者は、長年の言語アナライザーの経験に基づいた開発ワークフロー内で、コードベース内の問題を強調表示し、状況に応じたフィードバックに即座にアクセスできるようになります。 開発者は、問題が発生する理由とそれを迅速に修復する方法についての明確な説明にアクセスできるだけでなく、より深く学習するための追加リソースにもアクセスできます。 IDE から CI/CD に至るまで、ワークフロー全体を通じて教育が構築されています。 たとえば、Sonar には特定の MISRA C++ 2023 ルール SonarLint で利用可能で、チームが最終的な認定に向けて最適なコードを作成するのに役立ちます。 記述されているコードが MISRA に準拠していることを確認するために、フラグが立てられた問題の背後にある理由とその修正方法を説明するコーディング ガイダンスを提供します。

AI が将来コーディングをどのように変革するかについて、どのようなビジョンをお持ちですか?

 AI は開発者の燃え尽き症候群に対処する上で、今後も大きな価値を提供し続けると思います。 AI が開発者の思考や人間のタッチを取り除くことは決してできないとは思いますが、今から数か月後には、まったく新しい GPT セットが登場すると思います。数年後は気にしないでください。これからは次のようになります。 技術者や開発者がいなくなるとは思いませんが、彼らが日々の仕事を行う本質は確実に変化するでしょう。 開発者が AI を使用する方法は、Google がショートカットとして何かを検索するのと同じくらいシンプルでありふれたものになるでしょう。 AI の使用法については検討すべきことがたくさんありますが、AI の欠点をチェックするには、人間の要素を最前線で考慮する必要があります。 ソフトウェア開発には変革の可能性がありますが、特に今日のデジタル ビジネスがそれを支えるソフトウェアに依存している場合には、それを何のチェックもせずに実行させてはいけません。

素晴らしいインタビューをありがとうございました。さらに詳しく知りたい読者は、こちらをご覧ください。 ソナー.

Unite.AI の創設パートナーであり、 フォーブステクノロジー評議会、 アントワーヌさんは、 未来派 AI とロボット工学の未来に情熱を持っている人。

彼はの創設者でもあります 証券.io、破壊的テクノロジーへの投資に焦点を当てたウェブサイト。