ホームページ  >  記事  >  テクノロジー周辺機器  >  AI が見事なコード フローチャートを正確に生成する方法

AI が見事なコード フローチャートを正確に生成する方法

WBOY
WBOY転載
2024-02-04 21:09:261741ブラウズ

みなさん、こんにちは、私はミチュアンです。

人工知能がなければ、私たちはコードを読み、自分自身の理解に基づいて手動でマインド マップを描くのに少なくとも 60 分を費やす必要があります。または、コードをより深く理解するのに役立つフローチャート。

AI はコードを正確なコード視覚化グラフィックスに変換し、コードを読む時間をわずか 5 分で節約します。

ここには 3 つの問題があります:

1. AI を通じてコードを解釈する方法

2. 解釈されたコードをフローチャートを通じてどのように表示するか?

3. フローチャートの生成方法

この3つを順番に紹介していきます

1. AI解釈コード

AI解釈コードは実際に使用しますAI 機能を要約し、コード コメントを生成します。大規模モデルではすでにこの機能が実装されています。

たとえば、Baidu Comate の基礎となるモデル: Wenxinyiyan 4.0、清華大学によって開発された CodeGeex の大規模モデル、GitHub Copilot の基礎となるモデル: CodeX

なぜそうしないのかと疑問に思う人もいるかもしれません。 GPT 経由 コメントを直接生成する場合はどうでしょうか?

GPT は、記事を書く、コードを書く、小説を書くなど、さまざまなことができる一般的な大規模なモデルです。コードを書くだけの場合、大規模な独自のコード モデルほど優れたものではありません。これはより専門的であり、コード フィールドのみに焦点を当てています。コードの解釈がより正確になり、生成されたコード コメントもより正確になります。

Comate を使用してコードを解釈する例を次に示します:

たとえば、次のコードには 200 行があり、中心となるのは注文のパッケージ化です (例: 10 注文がクラスタリングされた後、8 つのパッケージが生成されます)

クラスタリングの詳細が多すぎます。 AI がフローチャートを抽出して描画します。これはより直感的です。まず、AI プログラミング ツール Baidu Comate を使用して、このコードを解釈します。

プラグイン Comate をインストールした後、関数コードの上で、コード説明メニュー

AI 如何精准生成令人惊叹的代码流程图#画像

#コード コメントをクリックすると、Baidu AI Assistant チャット ボックスが開きます。コード説明を表示

AI 如何精准生成令人惊叹的代码流程图

# 2. コードの視覚化方法

リーダーに報告する場合でも、週次レポートを作成する場合でも、可能であれば、テキストまたはコードの視覚化により、人々は即座に視覚化された情報を得ることができます。感覚が異なるため、視覚化を学ぶことが非常に重要です

コードの視覚化には通常、UML 図の作成が必要です。テキスト記述を使用して UML 図を生成するものまで、そのようなツールは多数あります。視点の観点から、私は PlantUML を選択しました

PlantUML は、さまざまな種類の図を迅速に作成するための強力なツールです。これらの図は、ソフトウェア開発やドキュメント作成で広く使用されています。PlantUML でサポートされている主な図の種類の一部を次に示します:

1. シーケンス図: オブジェクト間の相互作用の時系列を表示するために使用され、一般的に使用されるメッセージを示しますシステム内のコンポーネントまたはオブジェクト間の受け渡し。

AI 如何精准生成令人惊叹的代码流程图

2. ユースケース図: システムの機能と外部ユーザー (参加者) の間の対話を説明します。

AI 如何精准生成令人惊叹的代码流程图

3. クラス図: システム内のクラスの構造と、継承、インターフェイスの実装、依存関係などのクラス間の関係を示します。等

AI 如何精准生成令人惊叹的代码流程图

4. アクティビティ図: フローチャートと同様、あるアクティビティから別のアクティビティへの制御の流れを示すために使用されます。

AI 如何精准生成令人惊叹的代码流程图

5. コンポーネント図: システムのコンポーネントがどのように連携するかを示します。

AI 如何精准生成令人惊叹的代码流程图

6. 状態図: オブジェクトがそのライフサイクル中に経験する状態と、状態間の遷移を示します。

AI 如何精准生成令人惊叹的代码流程图

7. オブジェクト図: システム内のオブジェクト間の関係を示すクラス図の例。

AI 如何精准生成令人惊叹的代码流程图

8. パッケージ図: コードのモジュール構成を理解するのに役立つ、コードのパッケージ構造を示します。

AI 如何精准生成令人惊叹的代码流程图#写真

9. 組織図 (ワイヤーフレーム グラフィック インターフェイス): グラフィック組織構造の構成を説明するために使用されます

AI 如何精准生成令人惊叹的代码流程图Picture

10. ガント ダイアグラム: プロジェクトのタイムラインと進捗状況を示すためにプロジェクト管理で使用されます。

AI 如何精准生成令人惊叹的代码流程图写真

お気づきかどうかわかりませんが、フローチャートを見ていなかったようです。 PlantUML のアクティビティ図はフローチャートであり、コード構文は左側にあり、右側は視覚的なグラフィックです

AI 如何精准生成令人惊叹的代码流程图画像

コードを生成しましたAI プログラミング ツールを介してコメントを取得し、取得したコード コメントについて AI に質問します。次の内容に基づいてこのコードにコメントして、PlantUML アクティビティ図コードを生成します。

AI 如何精准生成令人惊叹的代码流程图画像

AI の応答を見てください:

AI 如何精准生成令人惊叹的代码流程图 画像

#3. フローチャートを生成します

フローをコピーしますステップ 2 で生成されたチャート コードを plantuml ビジュアライゼーション Web サイト URL: http://www.plantuml.com/plantuml

#PictureAI 如何精准生成令人惊叹的代码流程图 [送信] ボタンをクリックします。画像を取得するには

画像AI 如何精准生成令人惊叹的代码流程图 このコードの意味はフローチャートを見れば大体わかります コードの可視化図をAIが解釈して、とても便利です

4. 概要

上記はコード-> コメント-> ; を使用してフローチャートを描画する方法で、望ましい効果を達成できます。コードを読んだ後に手動でグラフィックスを描画するほうが、確かにはるかに効率的です。

最後に、ちょっとしたヒントを共有しましょう: コードの視覚的な表現にはさまざまな種類があります。なぜフローである必要があるのですか?他の種類の図の代わりにグラフを作成しますか? このコードでどの図を生成するのが良いかを AI に尋ねて、視覚化に最適な表示方法を選択できます

たとえば、上記のコードに基づいて、クラス図を生成することもできます

写真AI 如何精准生成令人惊叹的代码流程图このような図をたくさん生成しました。たとえば、私は主に Go について書いています。たくさんの記事を書いてから、AI を使用しています。を可視化しました

例えばGoではリエントラントロックが可能で、それを画像で分かりやすく解説しています

画像AI 如何精准生成令人惊叹的代码流程图例: Go メモリ管理 、図はメモリ分散コンポーネントを説明しています

AI 如何精准生成令人惊叹的代码流程图例: go.sum ファイル、図はメモリ分散コンポーネントを説明しています。内部構造

#図

AI 如何精准生成令人惊叹的代码流程图#たとえば、sync.Cond の基礎となるデータ構造。図は、提供された関数インターフェイスを示しています

##写真

上記の写真はすべて AI を使用して生成されており、AI を使用すると、プログラミングを理解していない人でもツールやプラグインの開発を完了でき、コストを大幅に削減できます。ソフトウェア開発; AI を使用すると、プログラミングを理解している人は日常のタスクをより効率的に完了できます。仕事、アプリケーション開発をより速く完了し、仕事と学習の効率を大幅に向上させます。AI 如何精准生成令人惊叹的代码流程图私は常に「できるなら」という観点に固執してきました。書けなければ AI を使って書くことはできませんし、プログラムができなければ AI をプログラムすることもできません。

AI を通じてコード フローチャートを生成したい場合は、まずコード フローチャートとは何か、それを視覚化する方法は何かを理解し、次に AI を使用してプロセスを高速化する必要があります。

今日の共有はここまでです。AI を使用して効率を向上できるシナリオはまだたくさんあります。次回機会があれば共有します。ご視聴いただきありがとうございます。

以上がAI が見事なコード フローチャートを正確に生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。