م زمان خواندن : 12 minutes

کدپای شما در حال گسترش است. وابستگی‌های بین ماژول‌ها به سرعت افزایش می‌یابند. مستندات معماری قبل از اینکه نوشته شوند، منسوخ می‌شوند. و اگر ساخت Gradle شما بتواند به‌صورت automatiquement diagramهای به‌روز را از ساختار واقعی کد تولید کند؟ این دقیقاً همان کاری است که پالین Graphify + PlantUML Gradle Plugin انجام می‌دهد :`graphify . --no-viz`Knowledge Graph را استخراج می-conducts,`./gradlew generateKnowledgeGraphDiagram`او را به نمودارهای PlantUML تبدیل می‌کند. صفر LLM, صفر راهنمایی, 100% deterministik.

تک

[]

مشکل: نمودارها همیشه به کد عقب می‌مانند

هر پروژه‌ای که بیش از چند هزار خط دارد این سندروم را می‌شناسد :

  1. یک نمودار معماری در ابتدای پروژه رسم می‌شود

  2. کد تکامل می‌یابد، وابستگی‌ها تغییر می‌کنند

  3. نمودار یک دروغ تزئینی می‌شود.

  4. هیچ کس آن را به‌روزرسانی نمی‌کند چون خسته‌کننده است.

  5. وافدین جدید بر آن استناد دارند و اشتباه می‌کنند

@startuml
skinparam backgroundColor #FEFEFE
skinparam ActivityBackgroundColor #FDEDEC
skinparam ActivityDiamondBackgroundColor #FFF3CD

start

:Diagramme d'architecture créé\n(manuellement, à la main);

:Le code évolue\n(nouvelles classes, nouvelles dépendances);

:Diagramme obsolète\n(ne reflète plus le code);

if (Qui met à jour ?) then (Personne)
    :Documentation mensongère;
    note right: Les nouveaux développeurs\nse basent dessus... et font des erreurs
else (Quelqu'un)
    :Mise à jour manuelle\n(2-3 heures de travail);
    note right: Déjà obsolète\nà la prochaine PR
endif

stop

@enduml

سوال این نیست faut-il des diagrammes ? — همه می‌دانند که بله. سوال این است:کی آن‌ها را به‌روز می‌دارد؟

جواب: هیچ کس. مگر خودکار باشد.

راه‌حل: یک لوله‌خط determinist Knowledge Graph → PlantUML

مبدأ ساده است : به جای نمودارها به صورت دستی رسم کردن, ما آنهااز ساختار واقعی کد تولید می‌شود.

@startuml
skinparam backgroundColor #FEFEFE
skinparam componentStyle rectangle

actor Développeur
component "Graphify\n(pip install graphifyy)" as Graphify
collections "graphify-out/graph.json
(گراف دانش)" as KGJSON
component "افزونه Gradle PlantUML
(generateKnowledgeGraphDiagram)" as Plugin
component "KnowledgeGraphParser" as Parser
component "KnowledgeGraphRenderer" as Renderer
component "PlantumlService\n(اعتبارسنجی + ارائه PNG)" as PS
collections "نمودارها/گراف دانش/\n(.puml + .png)" as Output

Développeur --> Graphify : graphify . --no-viz
Graphify --> KGJSON : extrait la structure\ndu code source
Développeur --> Plugin : ./gradlew generateKnowledgeGraphDiagram
Plugin --> Parser : parse(graph.json)
Parser --> Plugin : KnowledgeGraph\n(noeuds + arêtes + communautés)
Plugin --> Renderer : render(graph, filters)
Renderer --> Plugin : code PlantUML\ndéterministe
Plugin --> PS : validateSyntax + generateImage
PS --> Output : .puml + .png

note bottom of Plugin
  Pipeline DÉTERMINISTE
  Aucun appel LLM
  Résultat reproductible
end note

@enduml

دستورات دو. فقط همین.

# Étape 1 : extraire le Knowledge Graph
graphify . --no-viz

# Étape 2 : générer les diagrammes PlantUML
./gradlew generateKnowledgeGraphDiagram

نتیجه؟ فایل‌ها`.puml` et .png`در`diagrams/knowledge-graph/, نسخه‌گذاری شده در Git, همیشه به‌روز با کد.

مرحله 1: Graphify را نصب کنید و دانش‌ گراف را استخراج کنید

نصب

Graphify یک ابزار پایتون است که کدベس شما را تحلیل می‌کند و یک گراف دانش ساختاریافته می‌سازد :

# Méthode recommandée
uv tool install graphifyy && graphify install --platform opencode

# Alternative avec pip
pip install graphifyy && graphify install --platform opencode

تنظیم استثنا

یک فایل ایجاد کنید`.graphifyignore`به ریشه پروژه برای استبعاد فایل‌هایی که جزء منطق کسب‌وکار نیستند :

# Secrets — JAMAIS dans le graphe
*-context.yml
*.env

# Fichiers générés
build/
.gradle/

# Tests fonctionnels
src/functionalTest/

استخراج گراف دانش

graphify . --no-viz

پرچم`--no-viz`ایجاد HTML را رد می‌کند (در یک خط لول Gradle بی‌کار است). نتیجه یک فایل است.`graphify-out/graph.json`حاوی :

  • گره‌ها: کلاس‌ها, توابع, فایل‌ها — با نوع و جامعه آن‌ها

  • حافات: روابط بین گره‌ها (EXTRACTED از کد، INFERRED توسط LLM)

  • جامعات: گروه‌بندی خودکار گره‌های مرتبط

نمونۀ ساختار`graph.json`
{
  "nodes": [
    {"id": "0", "label": "LlmService", "file_type": "code", "community": 0},
    {"id": "1", "label": "ApiKeyPool", "file_type": "code", "community": 0},
    {"id": "2", "label": "PlantumlService", "file_type": "code", "community": 1}
  ],
  "links": [
    {"source": "1", "target": "0", "relation": "uses", "confidence": "EXTRACTED", "weight": 0.9},
    {"source": "0", "target": "2", "relation": "calls", "confidence": "INFERRED", "weight": 0.7}
  ]
}

منبع کد (.kt, .java) به‌صورت محلی توسط tree-sitter تجزیه می‌شود،بدون تجدید نظر LLM. فقط فایل‌های اسناد (.adoc, .md) نیاز به تماس با LLM برای استخراج معنایی دارند. بنابراین`--update`روی کد Kotlin تقریباً فوری است.

مرحله ۲ : پلاگین Gradle Knowledge Graph را به PlantUML تبدیل می‌کند

معماری لایپ‌لاین

پلاگین`com.cheroliv.plantuml`یک وظیفه را ادغام می‌کند`generateKnowledgeGraphDiagram`که تبدیل می‌کند`graph.json`به صورت diagramهای PlantUMLکاملاً تعیین‌کننده(Output empty)

@startuml
skinparam backgroundColor #FEFEFE

participant "Gradle" as G
participant "وظیفه تولید نمودار گراف دانش" as Task
participant "KnowledgeGraphParser" as Parser
participant "KnowledgeGraphRenderer" as Renderer
participant "PlantumlService" as PS

collections "graphify-out/graph.json" as JSON

G -> Task : execute
Task -> JSON : read
Task -> Parser : parse(graph.json)
Parser --> Task : KnowledgeGraph\n(noeuds + arêtes + communautés)
Task -> Renderer : render(graph, filters)
Renderer --> Task : code PlantUML\n(déterministe)
Task -> PS : validateSyntax(plantumlCode)
alt syntaxe valide
    Task -> PS : generateImage → .png
else syntaxe invalide
    Task -> Task : save .puml avec warning
end

@enduml

اجزای داخلی

بخش نقش

KnowledgeGraphParser

پارس`graph.json`— پشتیبانی می‌کند 3 فرمت: graphify natif (nodes(Empty)links) ارث (communities), flat. شناسه‌های عددی را به برچسب‌ها حل می‌کند.

KnowledgeGraphRenderer

یک را به صورت deterministic تبدیل کنید`KnowledgeGraph`در کد PlantUML. گروه‌ها بر اساس نوع،جامعات در بسته‌ها،توضیح خودکار

GenerateKnowledgeGraphDiagramTask

وظیفهٔ Gradle که orchestra می‌کند : parse → render → validate → PNG. قابل تنظیم از طریق ویژگی‌های Gradle.

kgmodels.kt

مدل‌های داده:`KnowledgeGraph`, KnowledgeGraphNode, KnowledgeGraphEdge, KnowledgeGraphCommunity, EdgeType.

PlantumlService

اعتبارسنجی نحوی + رندر PNG (باز به کار گرفته شده توسط تمام وظایف پلاگین).

قوانین رندرینگ

رندر معیارات بصری قطعی اعمال می-conduct :

نوع لبه نوتیشن PlantUML معنی

استخراج شده

-→(خط کامل، سیاه)

رابطه استخراج‌شده از کد منبع (اطمینان)

استنتاج شده

..>(خط نقطه‌دار)

رابطه استنتاج‌شده توسط LLM (امتیاز اطمینان)

مبهم

--x(خط چین قرمز)

ربط مبهم (باید بررسی شود)

جامعه‌ها به صورت بسته‌های PlantUML با یک پالت رنگ خودکار نمایش داده می‌شوند.

مرحله ۳ : استفاده روزانه

دیاگرام کامل

# Générer le diagramme du Knowledge Graph complet
./gradlew generateKnowledgeGraphDiagram

خروجی:`diagrams/knowledge-graph/knowledge-graph-full.puml`+.png

فیلتر بر اساس جامعه

# Une seule communauté
./gradlew generateKnowledgeGraphDiagram \
  -Pplantuml.kg.community=community_0

# Limiter le nombre de noeuds (lisibilité)
./gradlew generateKnowledgeGraphDiagram \
  -Pplantuml.kg.community=community_0 \
  -Pplantuml.kg.maxNodes=15

فیلتر بر اساس نوع لبه

# Uniquement les relations certaines (EXTRACTED)
./gradlew generateKnowledgeGraphDiagram \
  -Pplantuml.kg.edgeTypes=EXTRACTED

# Relations certaines + inférées
./gradlew generateKnowledgeGraphDiagram \
  -Pplantuml.kg.edgeTypes=EXTRACTED,INFERRED

فیلتر کردن بر اساس نوع گره و اطمینان

# Uniquement les classes de code
./gradlew generateKnowledgeGraphDiagram \
  -Pplantuml.kg.nodeTypes=code

# Seuil de confiance minimum (pour les INFERRED)
./gradlew generateKnowledgeGraphDiagram \
  -Pplantuml.kg.minConfidence=0.7

دایرکتوری خروجی سفارشی

./gradlew generateKnowledgeGraphDiagram \
  -Pplantuml.kg.outputDir=docs/architecture

مرجع کامل ویژگی‌ها

ملک خطا توضیح

plantuml.kg.community

(همه)

جامعه‌ها را بر اساس نام فیلتر کنید (مطابق زیررشته)

plantuml.kg.edgeTypes

(همه)

انواع لبه‌ها جدا شده با کاما :`EXTRACTED`, INFERRED, AMBIGUOUS

plantuml.kg.minConfidence

0.0

حداقل آستانه اعتماد برای یال‌ها

plantuml.kg.maxNodes

(بی‌پایان)

حداکثر تعداد گره‌ها برای نمایش

plantuml.kg.nodeTypes

(همه)

انواع گره‌ها جدا شده با کاما (مثل.class, code)

plantuml.kg.outputDir

diagrams/knowledge-graph

دایرکتوری خروجی برای فایل‌ها`.puml` et .png

پایپ‌لاین کامل در یک گردش کار Gradle

نوع گردش کار

@startuml
skinparam backgroundColor #FEFEFE
skinparam ActivityBackgroundColor #E8F4FD
skinparam ActivityDiamondBackgroundColor #FFF3CD
skinparam ActivityBorderColor #2C3E50

start

partition "استخراج" {
    :graphify . --no-viz;
    note right: Analyse le code source\ntree-sitter (local, pas de LLM)

    :graphify-out/graph.json;
    note right: Noeuds + arêtes\n+ communautés
}

partition "تولید" {
    :./gradlew generateKnowledgeGraphDiagram;
    note right: Pipeline déterministe\nparse → render → validate → PNG

    if (Filtres actifs ?) then (Oui)
        :Appliquer filtres\n(community, edgeTypes,\nmaxNodes, nodeTypes);
    else (Non)
        :Diagramme complet;
    endif

    :diagrams/knowledge-graph/\nknowledge-graph-full.puml\nknowledge-graph-full.png;
}

partition "یک‌سازی" {
    :git add diagrams/knowledge-graph/;
    :git commit;
    note right: Diagrammes versionnés\ntoujours à jour avec le code
}

stop

@enduml

یکپارچه‌سازی در چرخه توسعه

پایپ لاین به‌طور خودکار در مراحل کلیدی توسعه ادغام می‌شود :

@startuml
skinparam backgroundColor #FEFEFE

state "توسعه" as dev
state "استخراج
graphify . --no-viz" as extract
state "تولید
./gradlew generateKnowledgeGraphDiagram" as generate
state "کامیتر
دیاگرامها نسخهدar" as commit

[*] --> dev
dev --> extract : Code modifié
extract --> generate : graph.json à jour
generate --> commit : .puml + .png générés
commit --> dev : Diagrammes dans le repo

note right of extract
  Quasi instantané sur du code Kotlin
  (tree-sitter, pas de LLM)
end note

note right of generate
  Déterministe
  Pas de LLM
  Résultat reproductible
end note

@enduml

به‌روزرسانی افزاینده

وقتی کد تغییر می‌کند، کل گراف را از صفر بازسازی نمی‌کنیم:

# Mise à jour incrémentale (fichiers modifiés uniquement)
graphify . --update

# Puis régénérer les diagrammes
./gradlew generateKnowledgeGraphDiagram

--update`باستخراج مجدد تنها فایل‌های تغییر یافته (تشخیص داده‌شده توسط SHA256 در`graphify-out/cache/). بر روی کد Kotlin، این کار تقریباً آنی است زیرا tree-sitter به صورت محلی کار می‌کند و هیچ فراخوانی LLMی انجام نمی‌دهد.

Dogfooding : پلاگین خود را مستند می‌سازد

افزونه PlantUML برای تبدیل پرامپت‌ها به نمودار وجود دارد. همچنین می‌تواند Knowledge Graph کد پایهٔ خود (propre) را به نمودارهای مستندات تبدیل کند. این dogfooding است: افزونه servicios خود را مصرف می‌کند.

@startuml
skinparam backgroundColor #FEFEFE
skinparam componentStyle rectangle

package "پایپ لاین عادی
(کاربر → دیاگرام‌ها)" as normal {
    [Fichier .prompt] as prompt
    [LlmService\n+ ApiKeyPool] as llm1
    [ProcessPlantumlPromptsTask] as task1
    [Diagramme PNG] as out1

    prompt --> task1
    task1 --> llm1
    llm1 --> out1
}

package "Pipeline Knowledge Graph
(حتمی، بدون LLM)" as kg {
    [graphify-out/graph.json] as kgjson
    [KnowledgeGraphParser] as parser
    [KnowledgeGraphRenderer] as renderer
    [PlantumlService] as ps
    [Diagramme PNG\n(documentation du plugin)] as out2

    kgjson --> parser
    parser --> renderer
    renderer --> ps
    ps --> out2
}

package "Pipeline Dogfooding
(LLM → مستندات افزونه)" as dogfood {
    [GraphifyPromptAdapter] as gpa
    [Fichiers .prompt\nauto-générés] as auto_prompt
    [LlmService\n+ ApiKeyPool] as llm2
    [ProcessPlantumlPromptsTask] as task2
    [Diagramme PNG\n(documentation LLM)] as out3

    kgjson --> gpa
    gpa --> auto_prompt
    auto_prompt --> task2
    task2 --> llm2
    llm2 --> out3
}

note "همان LlmService، همان ApiKeyPool,
همان PlantumlService
— صفر تکرار" as N

@enduml

وظائف Gradle مرتبطه :

کار LLM ? توضیح

generateKnowledgeGraphDiagram

نه

تبدیل کن`graph.json`در PlantUML (دترمینستیک)

generateDiagramDocs

بله

تولید کن`.prompt`او آن‌ها را از طریق LLM (dogfooding) پردازش می‌کند

# Documentation déterministe (rapide, pas de LLM)
./gradlew generateKnowledgeGraphDiagram

# Documentation LLM (plus riche, consomme des tokens)
./gradlew generateDiagramDocs

چرا این تعیین‌مند است (و چرا اهمیت دارد)

نقطه کلیدی پایپلاین`generateKnowledgeGraphDiagram`:او هیچ LLMی را صدا نمی‌زند.. تبدیل`graph.json` → PlantUML est une fonction pure.

@startuml
skinparam backgroundColor #FEFEFE
skinparam componentStyle rectangle

rectangle "خط لوله قطعی
(تولید نمودار گراف دانش)" as det {
    [graph.json] as json
    [KnowledgeGraphParser] as parser
    [KnowledgeGraphRenderer] as renderer
    [PlantUML code] as puml

    json --> parser : parse
    parser --> renderer : KnowledgeGraph
    renderer --> puml : render (fonction pure)
}

rectangle "Pipeline LLM\n(processPlantumlPrompts)" as llm {
    [.prompt] as prompt
    [LlmService] as llmSvc
    [ChatModel] as model
    [PlantUML code] as puml2

    prompt --> llmSvc
    llmSvc --> model : API call
    model --> puml2 : réponse non-déterministe
}

note bottom of det
  Même entrée → même sortie
  Pas de latence réseau
  Pas de coût en tokens
  Reproductible en CI
end note

note bottom of llm
  Même entrée → sortie variable
  Latence réseau (1-5s)
  Coût en tokens
  Nécessite une clave API
end note

@enduml

مزایای ملموس :

مزیت تأثیر

قابلیت بازتولید

هم`graph.json`→ همان نمودار. دقیقاً. هر بار.

هزینه صفر

هیچ تماس LLM = هیچ توکن = هیچ صورتحساب API

تأخیر صفر

Parse + render ~100ms زمان می‌برد، نه 1-5 ثانیه.

سازگار CI

کلید API لازم نیست. هیچ تست نامطمئن به دلیل پاسخ متغیر LLM وجود ندارد.

قابل نسخه‌گذاری

Le .puml`متن تولید شده است. می‌توانیم آن را`diff، بازنگری‌کننده در PR، آن را در Git نسخه‌بندی کن.

نمودارهای خود پایپ لاین

برای بستن حلقه، این نمودار خط لوله به شکل که توسط پلاگین تولید می‌شود:

@startuml
skinparam backgroundColor #FEFEFE

participant "توسعه‌دهنده" as Dev
participant "Gradle" as G
participant "GenerateKnowledgeGraphDiagramTask" as Task
participant "KnowledgeGraphParser" as Parser
participant "رندر گراف دانش" as Renderer
participant "سرویس Plantuml" as PS
collections "graphify-out/graph.json" as JSON
collections "نمودارها/گراف-دانش/" as Out

Dev -> G : ./gradlew generateKnowledgeGraphDiagram
G -> Task : execute
Task -> JSON : read
Task -> Parser : parse(graph.json)
Parser --> Task : KnowledgeGraph

alt filtres actifs
    Task -> Task : appliquer filtres\n(community, edgeTypes, maxNodes…)
end

Task -> Renderer : render(graph, filters)
Renderer --> Task : code PlantUML

Task -> PS : validateSyntax()
alt valide
    Task -> PS : generateImage()
    PS --> Out : .puml + .png
else invalide
    Task -> Out : .puml (avec warning)
end

@enduml

ادغام در حاکمیت پروژه

در پروژه ما، خط لوله در یک استراتژی مدیریت زمینه EAGER/LAZY برای عامل هوش مصنوعی گنجانده می‌شود. گراف دانش جایگزین documentation arquitectura دستی با یک گراف ساختاریافته، قابل‌پرس و جو و به‌روز‌رسانی خودکار می‌شود.

@startuml
skinparam backgroundColor #FEFEFE
skinparam componentStyle rectangle

package "EAGER
(همیشه بارگذاری شده)" as eager {
    [PROMPT_REPRISE.adoc\n(contexte session)] as pr
    [INDEX.adoc\n(vue d'ensemble)] as idx
    [GRAPH_REPORT.adoc\n(~50 lignes)] as gr
}

package "LAZY — استراتژی
(به درخواست)" as lazy_strat {
    [Méthodologies] as meth
    [Archives sessions] as sessions
}

package "LAZY — Graphify
(پرس‌وجوهای هدف)" as lazy_graph {
    [graph.json] as gj
    [Queries\n(query/path/explain)] as queries
}

package "Pipeline PlantUML\n(به‌صورت خودکار تولید شده)" as puml {
    [generateKnowledgeGraphDiagram] as kgTask
    [generateDiagramDocs] as ddTask
    [Diagrammes PNG] as diagrams
}

Agent --> eager : Lit en début de session
Agent ..> lazy_strat : Charge si type détecté
Agent ..> lazy_graph : Query si besoin structurel
kgTask --> diagrams : Déterministe
ddTask --> diagrams : Via LLM

note right of gr
  Condensé du Knowledge Graph
  God nodes + communautés
  Remplace ECOSYSTEM_OVERVIEW
  (225 lignes → 50 lignes)
end note

@enduml

ازدواج دو سیستم تکمیلی است:

  • استراتژی QUAND و COMMENT را مدیریت می‌کند— حاکمیت, گردش کار, بایگانی

  • Graphify چه و کجا را مدیریت می‌کند— ساختار کد، روابط، کوئری‌های هدفمند

_ استراتژی جلسه مدیریتکی et le چطور(حاکمیت, جریان کاری, آستانه‌ها)، Graphify مدیریت می‌کندچی et le کجا(ساختار کد، روابط، استعلامات هدفمند). خط لوله PlantUML مدیریت می‌کندبا چه(نمودارهای تعیین‌محور، نسخه‌بندی شده، همیشه به‌روز) _

آماده‌سازی: چک‌لیست ۵ دقیقه‌ای

# مرحله دستور

1

نصب Graphify

uv tool install graphifyy

2

تنظیم استثناها

ایجاد`.graphifyignore`

3

Knowledge Graph را استخراج کنید

graphify . --no-viz

4

نمودارها را تولید کنید

./gradlew generateKnowledgeGraphDiagram

5

نتایج را ثبت کن

git add diagrams/knowledge-graph/

# Script complet en 5 commandes
uv tool install graphifyy
cat > .graphifyignore << 'EOF'
*-context.yml
*.env
build/
.gradle/
EOF
graphify . --no-viz
./gradlew generateKnowledgeGraphDiagram
git add graphify-out/GRAPH_REPORT.adoc graphify-out/graph.json diagrams/knowledge-graph/

پنجه‌ها و کاهشات

پال توضیحات کاهش

گراف πυκνός

یک پروژه بزرگ صدها گره نامرخواندنی ایجاد می‌کند

استفاده کردن`-Pplantuml.kg.maxNodes=30`و فیلتر بر اساس جامعه

استثناء‌های بسیار گسترده

فایل‌های خیلی زیاد در`.graphifyignore`مقدار گراف را کاهش می‌دهد

شروع کنید با استثنا کردن فقط credentials و build

جهت فلش‌ها

لبه‌های INFERRED می‌توانند یک جهت مبهم داشته باشند

فیلتر بر اساس`-Pplantuml.kg.edgeTypes=EXTRACTED`برای روابط قطعی فقط

گراف منسوخ

کد تغییر می‌کند اما گراف بازسازی نشده است

استفاده کردن`graphify . --update`به صورت منظم یا hook گیت`graphify hook install`

هزینهٔ به‌روزرسانی شده

به‌روزرسانی‌های افزایشی تقریباً رایگان‌اند (tree-sitter local)

فقط اسناد (.adoc) توکن‌های LLM را مصرف می‌کنند

چه چیزی که در نهایت به دست می‌آوریم

@startuml
skinparam backgroundColor #FEFEFE

rectangle "قبل" as avant {
    card "نمودارهای دست‌کشیده
همیشه منقضی
هیچ کس آن‌ها را به‌روزرسانی نمی‌کند" as av1 #FDEDEC
}

rectangle "بعد" as apres {
    card "دیاگرام‌های به صورت خودکار تولید شده
همیشه به‌روز با کد
در Git نسخه‌گذاری شده‌اند
تعیین‌شده و قابل بازتولید" as ap1 #E8F8E8
}

avant --> apres : graphify . --no-viz\n+ ./gradlew generateKnowledgeGraphDiagram

@enduml

منافع ملموس:

سود جزئی

مستندات همیشه به‌روز

دیاگرام‌ها کد فعلی را منعکس می‌کنند، نه یک اسنپ‌شات دستی

بدون تلاش برای نگهداری

دیاگرام‌ها در هر build بازتولید می‌شوند

کاهش بدهی فنی

هیچ نیازی به نگهداری دستی نمودارها نیست

زمینه بصری برای جدیدها

یک توسعه‌دهندهٔ جدید با نگاه کردن به نمودارها، معماری را درک می‌کند

تنظیم دقیق پتانسیل

زوج‌ها (زیر-گراف → نمودار) نمونه‌های آموزش هوش مصنوعی هستند

اعتبارسنجی خودکار

`PlantumlService.validateSyntax()`هر نمودار تولید شده را بررسی می‌کند

راهنمایی سریع

5 نمودار = دید کامل از معماری

(Empty) که یک pourquoi دارد می‌تواند تمام comment را تحمل کند. همهٔ Span‌های کد بیک‌تیک (…​) را دقیقاً همان‌طور که هستند حفظ کنید — هرگز محتوای بیک‌تیک، فضاها یا موقعیت آن را تغییر ندهید. این متن ممکن است یک قطعه از یک جمله بزرگتر باشد — این قطعه را بدون REQUEST زمینه بیشتر ترجمه کنید. فقط متن ترجمه‌شده را خروجی دهید — هیچ توضیحی، نظری، مقدمه‌ای، گزینش یا گزینشی نداشته باشید.

چرا (pourquoi) : نمودارهای همیشه به‌روز. چطور (comment) : دو دستور در یک پایپ‌لاین Gradle.

لینک‌ها

مقالات مرتبط