Tích hợp Graphify vào workflow Gradle: từ Knowledge Graph đến biểu đồ PlantUML trong một lệnh
Đăng ngày 19 April 2026
- Vấn đề là: các sơ đồ luôn chậm hơn so với mã nguồn `code
- Giải pháp: một pipeline tất định Knowledge Graph → PlantUML
- Bước 1: Cài đặt Graphify và trích xuất Knowledge Graph
- Bước 2: Plugin Gradle chuyển đổi Knowledge Graph thành PlantUML
- Bước 3: Sử dụng hàng ngày
- Pipeline hoàn chỉnh trong một workflow Gradle
- Dogfooding: plugin tự lập tài liệu cho chính mình
- Tại sao nó có tính xác định (và tại sao điều đó lại quan trọng)
- Sơ đồ của chính pipeline
- Tích hợp vào quản trị dự án
- Chuẩn bị: danh sách kiểm tra trong 5 phút
- Các bẫy và biện pháp giảm thiểu
- Kết quả cuối cùng mà chúng ta nhận được
- Liên kết
Codebase của bạn ngày càng lớn. Sự phụ thuộc giữa các module ngày một nhiều hơn. Tài liệu kiến trúc trở nên lỗi thời ngay cả trước khi kịp viết xong. Sẽ ra sao nếu build Gradle của bạn có thể tự động tạo ra các sơ đồ cập nhật từ cấu trúc thực tế của mã nguồn? Đó chính xác là những gì pipeline Graphify + PlantUML Gradle Plugin thực hiện:`graphify . --no-viz`trích xuất Knowledge Graph,`./gradlew generateKnowledgeGraphDiagram`chuyển đổi nó thành các biểu đồ PlantUML. Không LLM, không thủ công, 100% xác định.
Vấn đề là: các sơ đồ luôn chậm hơn so với mã nguồn `code
Bất kỳ dự án nào vượt quá vài nghìn dòng đều gặp phải hội chứng này:
-
Chúng ta vẽ một sơ đồ kiến trúc vào đầu dự án
-
Mã nguồn tiến hóa, các phụ thuộc thay đổi
-
Biểu đồ trở thành một lời nói dối mang tính trang trí
-
Không ai cập nhật nó vì việc đó rất phiền phức
-
Những người mới đến dựa vào đó và mắc sai lầm
@startuml
skinparam backgroundColor #FEFEFE
skinparam ActivityBackgroundColor #FDEDEC
skinparam ActivityDiamondBackgroundColor #FFF3CD
start
:Biểu đồ kiến trúc đã được tạo\n(thủ công, bằng tay);
:Mã nguồn phát triển\n(nouvelles classes, nouvelles dépendances);
:Biểu đồ đã lỗi thời\n(không còn phản ánh mã);
if (Qui met à jour ?) then (Personne)
:Tài liệu sai lệch;
note right: Các nhà phát triển mới\n dựa vào đó... và phạm lỗi
else (Quelqu'un)
:Cập nhật thủ công\n(2-3 giờ làm việc);
note right: Đã lỗi thời\nđối với PR tiếp theo
endif
stop
@enduml
Câu hỏi không phải là có cần sơ đồ hay không? — mọi người đều biết là có. Câu hỏi là:ai cập duy trì cập nhật chúng?
Câu trả lời là: không một ai. Trừ khi đó là tự động.
Giải pháp: một pipeline tất định Knowledge Graph → PlantUML
Nguyên tắc rất đơn giản: thay vì vẽ các biểu đồ bằng tay, chúng tađược tạo từ cấu trúc thực tế của mã nguồnHãy cung cấp văn bản cần dịch.
@startuml skinparam backgroundColor #FEFEFE skinparam componentStyle rectangle actor Développeur component "Graphify\n(pip install graphifyy)" as Graphify collections "graphify-out/graph.json\n(Knowledge Graph)" as KGJSON component "PlantUML Gradle Plugin\n(generateKnowledgeGraphDiagram)" as Plugin component "KnowledgeGraphParser" as Parser component "KnowledgeGraphRenderer" as Renderer component "PlantumlService\n(xác thực + hiển thị PNG)" as PS collections "diagrams/knowledge-graph/\n(.puml + .png)" as Output Développeur --> Graphify : graphify . --no-viz Graphify --> KGJSON : Trích xuất cấu trúc \n từ mã nguồn Développeur --> Plugin : ./gradlew generateKnowledgeGraphDiagram Plugin --> Parser : parse(graph.json) Parser --> Plugin : KnowledgeGraph\n(đỉnh + cạnh + cộng đồng) Plugin --> Renderer : render(graph, filters) Renderer --> Plugin : code PlantUML\nxác định Plugin --> PS : validateSyntax + generateImage PS --> Output : .puml + .png note bottom of Plugin Pipeline DÉTERMINISTE Không có lời gọi LLM Kết quả có thể tái tạo end note @enduml
Hai câu lệnh. Chỉ vậy thôi.
# Étape 1 : extraire le Knowledge Graph
graphify . --no-viz
# Étape 2 : générer les diagrammes PlantUML
./gradlew generateKnowledgeGraphDiagram
Kết quả là gì? Những tệp`.puml` et .png`trong`diagrams/knowledge-graph/, được quản lý phiên bản trong Git, luôn cập nhật cùng với mã nguồn.
Bước 1: Cài đặt Graphify và trích xuất Knowledge Graph
Cài đặt
Graphify là một công cụ Python giúp phân tích codebase của bạn và xây dựng một đồ thị tri thức có cấu trúc:
# Méthode recommandée
uv tool install graphifyy && graphify install --platform opencode
# Alternative avec pip
pip install graphifyy && graphify install --platform opencode
Cấu hình các ngoại lệ
Tạo một tệp`.graphifyignore`tại gốc của dự án để loại bỏ các tệp không thuộc về logic nghiệp vụ:
# Secrets — JAMAIS dans le graphe
*-context.yml
*.env
# Fichiers générés
build/
.gradle/
# Tests fonctionnels
src/functionalTest/
Trích xuất Knowledge Graph
graphify . --no-viz
Cờ`--no-viz`bỏ qua việc tạo HTML (không cần thiết trong pipeline Gradle). Kết quả là một tệp`graphify-out/graph.json`chứa:
-
Nút: các lớp, hàm, tệp — cùng với kiểu và cộng đồng của chúng
-
Các cạnh: quan hệ giữa các nút (ĐƯỢC TRÍCH XUẤT từ mã, ĐƯỢC SUY LUẬN bởi LLM)
-
Cộng đồng: nhóm tự động các nút liên kết
Ví dụ về cấu trúc`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}
]
}
|
Mã nguồn ( |
Bước 2: Plugin Gradle chuyển đổi Knowledge Graph thành PlantUML
Kiến trúc pipeline
Plugin`com.cheroliv.plantuml`tích hợp một tác vụ`generateKnowledgeGraphDiagram`mà biến đổi`graph.json`sang các biểu đồ PlantUML một cáchhoàn toàn xác địnhvui lòng cung cấp nội dung cần dịch.
@startuml
skinparam backgroundColor #FEFEFE
participant "Gradle" as G
participant "GenerateKnowledgeGraphDiagramTask" as Task
participant "KnowledgeGraphParser" as Parser
participant "KnowledgeGraphRenderer" as Renderer
participant "PlantumlService" as PS
collections "graphify-out/graph.json" as JSON
G -> Task : (empty)
Task -> JSON : read
Task -> Parser : parse(graph.json)
Parser --> Task : KnowledgeGraph\n(nut + cạnh + cộng đồng)
Task -> Renderer : render(graph, filters)
Renderer --> Task : mã PlantUML\n(xác định)
Task -> PS : validateSyntax(plantumlCode)
alt syntaxe valide
Task -> PS : generateImage → .png
else syntaxe invalide
Task -> Task : Lưu .puml với cảnh báo
end
@enduml
Các thành phần nội bộ
| Thành phần | Vai trò |
|---|---|
|
Phân tích`graph.json`— hỗ trợ 3 định dạng: graphify gốc ( |
|
Chuyển đổi một cách xác định một`KnowledgeGraph`sang mã PlantUML. Nhóm theo loại, các cộng đồng trong các packages, chú giải tự động. |
|
Tác vụ Gradle điều phối: parse → render → validate → PNG. Có thể cấu hình thông qua các thuộc tính Gradle. |
|
Mô hình dữ liệu:`KnowledgeGraph`, |
|
Kiểm tra cú pháp + xuất PNG (được tái sử dụng bởi tất cả các tác vụ của plugin). |
Quy tắc hiển thị
Trình kết xuất áp dụng các quy ước hình ảnh mang tính xác định:
| Loại cạnh | Ký hiệu PlantUML | Ý nghĩa |
|---|---|---|
ĐÃ TRÍCH XUẤT |
|
Quan hệ được trích xuất từ mã nguồn (mức độ tin cậy) |
ĐƯỢC SUY LUẬN |
|
Quan hệ được LLM suy luận (điểm tin cậy) |
MƠ HỒ |
|
Quan hệ mơ hồ (cần kiểm tra) |
Các cộng đồng được trả về dưới dạng các gói PlantUML với bảng màu tự động.
Bước 3: Sử dụng hàng ngày
Sơ đồ đầy đủ
# Générer le diagramme du Knowledge Graph complet
./gradlew generateKnowledgeGraphDiagram
Đầu ra:`diagrams/knowledge-graph/knowledge-graph-full.puml`+.png
Lọc theo cộng đồng
# 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
Lọc theo loại cạnh
# Uniquement les relations certaines (EXTRACTED)
./gradlew generateKnowledgeGraphDiagram \
-Pplantuml.kg.edgeTypes=EXTRACTED
# Relations certaines + inférées
./gradlew generateKnowledgeGraphDiagram \
-Pplantuml.kg.edgeTypes=EXTRACTED,INFERRED
Lọc theo loại nút và độ tin cậy
# 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
Thư mục đầu ra tùy chỉnh
./gradlew generateKnowledgeGraphDiagram \
-Pplantuml.kg.outputDir=docs/architecture
Tham chiếu đầy đủ các thuộc tính
| Thuộc tính | Lỗi | Mô tả |
|---|---|---|
|
(tất cả)_ |
Lọc các cộng đồng theo tên (khớp chuỗi con) |
|
(tất cả) |
Các loại cạnh cách nhau bằng dấu phẩy:`EXTRACTED`, |
|
|
Ngưỡng tin cậy tối thiểu cho các cạnh |
|
(không giới hạn) |
Số lượng nút tối đa được hiển thị |
|
(tất cả) |
Các loại nút phân tách bằng dấu phẩy (ví dụ:`class`, |
|
|
Thư mục đầu ra cho các tệp`.puml` et |
Pipeline hoàn chỉnh trong một workflow Gradle
Loại quy trình làm việc
@startuml
skinparam backgroundColor #FEFEFE
skinparam ActivityBackgroundColor #E8F4FD
skinparam ActivityDiamondBackgroundColor #FFF3CD
skinparam ActivityBorderColor #2C3E50
start
partition "EXTRACTION" {
:đồ hoá . --no-viz;
note right: Phân tích mã nguồn\ntree-sitter (cục bộ, không có LLM)
:graphify-out/graph.json;
note right: nút + cạnh\n+ cộng đồng
}
partition "Đã tạoRATION" {
:./gradlew generateKnowledgeGraphDiagram;
note right: Pipeline xác định\nphân tích → trình bày → xác thực → PNG
if (Filtres actifs ?) then (Oui)
:Áp dụng bộ lọc\n(community, edgeTypes,\nmaxNodes, nodeTypes);
else (Non)
:Biểu đồ đầy đủ;
endif
:biểu đồ/knowledge-graph/\nbiểu đồ tri thức-full.puml\nbiểu đồ tri thức-full.png;
}
partition "INTÉGRATION" {
:thêm diagrams/knowledge-graph/;
:git commit;
note right: Biểu đồ phiên bản \nluôn cập nhật với mã
}
stop
@enduml
Tích hợp vào chu kỳ phát triển
Pipeline tích hợp một cách tự nhiên vào các giai đoạn chính của quá trình phát triển:
@startuml skinparam backgroundColor #FEFEFE state "Phát triển" as dev state "Extraction\ngraphify . --no-viz" as extract state "Sinh ra\n./gradlew generateKnowledgeGraphDiagram" as generate state "Commit\nbiểu đồ đã được phiên bản" as commit [*] --> dev dev --> extract : Mã đã được sửa extract --> generate : graph.json cập nhật generate --> commit : .puml + .png được tạo ra commit --> dev : Biểu đồ trong repo note right of extract Gần như tức thời trên mã Kotlin (tree-sitter, không có LLM) end note note right of generate Xác định Không có LLM Kết quả có thể tái tạo end note @enduml
Cập nhật gia tăng
Khi mã thay đổi, chúng ta không xây dựng lại toàn bộ đồ thị từ đầu:
# Mise à jour incrémentale (fichiers modifiés uniquement)
graphify . --update
# Puis régénérer les diagrammes
./gradlew generateKnowledgeGraphDiagram
|
|
Dogfooding: plugin tự lập tài liệu cho chính mình
Plugin PlantUML tồn tại để chuyển đổi các prompt thành sơ đồ. Nó cũng có thể chuyển đổi Knowledge Graph từ chính codebase của propre thành các sơ đồ tài liệu. Đây là hình thức dogfooding: plugin tự tiêu thụ dịch vụ của chính nó.
@startuml
skinparam backgroundColor #FEFEFE
skinparam componentStyle rectangle
package "Pipeline thông thường\n(người dùng → biểu đồ)" 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\n(định tính, không có 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\n(LLM → tài liệu hướng dẫn plugin)" 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 "Cùng LlmService, cùng ApiKeyPool,\ncùng PlantumlService\n— KHÔNG trùng lặp" as N
@enduml
Các tác vụ Gradle liên quan:
| Nhiệm vụ | LLM ? | Mô tả |
|---|---|---|
|
Không |
Chuyển đổi`graph.json`bằng PlantUML (định hướng) |
|
Vâng |
Tạo các`.prompt`từ đồ thị, xử lý chúng thông qua LLM (dogfooding) |
# Documentation déterministe (rapide, pas de LLM)
./gradlew generateKnowledgeGraphDiagram
# Documentation LLM (plus riche, consomme des tokens)
./gradlew generateDiagramDocs
Tại sao nó có tính xác định (và tại sao điều đó lại quan trọng)
Điểm mấu chốt của pipeline`generateKnowledgeGraphDiagram`Vui lòng cung cấp nội dung cần dịch.nó không gọi bất kỳ LLM nào. Sự chuyển đổi`graph.json`→ PlantUML là một hàm thuần túy.
@startuml
skinparam backgroundColor #FEFEFE
skinparam componentStyle rectangle
rectangle "Pipeline ĐỊNH DANH\n(generateKnowledgeGraphDiagram)" 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
Cùng một đầu vào → cùng một đầu ra
Không có độ trễ mạng
Không tốn chi phí token
Có thể tái lập trong CI
end note
note bottom of llm
Cùng một đầu vào → đầu ra thay đổi
Độ trễ mạng (1-5s)
Chi phí token
Yêu cầu một clave API
end note
@enduml
Những lợi ích cụ thể:
| Lợi thế | Tác động |
|---|---|
Khả năng tái lập |
Thậm chí`graph.json`→ cùng một biểu đồ. Chính xác. Mọi lúc. |
Chi phí bằng không |
Không gọi LLM = không tốn token = không có hóa đơn API. |
Độ trễ bằng không |
Parse + render mất ~100ms, chứ không phải 1-5 giây. |
CI tương thích |
Không cần khóa API. Không có kiểm thử không ổn định (flaky test) do phản hồi LLM thay đổi. |
Có thể đánh phiên bản |
Le |
Sơ đồ của chính pipeline
Để hoàn tất quy trình, đây là sơ đồ pipeline như cách nó sẽ được tạo bởi plugin:
@startuml
skinparam backgroundColor #FEFEFE
participant "Lập trình viên" as Dev
participant "Gradle" as G
participant "GenerateKnowledgeGraphDiagramTask" as Task
participant "KnowledgeGraphParser" as Parser
participant "KnowledgeGraphRenderer" as Renderer
participant "PlantumlService" as PS
collections "graphify-out/graph.json" as JSON
collections "diagrams/knowledge-graph/" as Out
Dev -> G : ./gradlew generateKnowledgeGraphDiagram
G -> Task : execute
Task -> JSON : đọc
Task -> Parser : parse(graph.json)
Parser --> Task : KnowledgeGraph
alt filtres actifs
Task -> Task : Áp dụng bộ lọc\n(community, edgeTypes, maxNodes…)
end
Task -> Renderer : render(graph, filters)
Renderer --> Task : mã PlantUML
Task -> PS : validateSyntax()
alt valide
Task -> PS : generateImage()
PS --> Out : .puml + .png
else invalide
Task -> Out : .puml (cảnh báo)
end
@enduml
Tích hợp vào quản trị dự án
Trong dự án của chúng tôi, pipeline này tích hợp vào một chiến lược quản lý ngữ cảnh EAGER/LAZY cho agent AI. Knowledge Graph thay thế tài liệu kiến trúc thủ công bằng một đồ thị có cấu trúc, có thể truy vấn và tự động cập nhật.
@startuml
skinparam backgroundColor #FEFEFE
skinparam componentStyle rectangle
package "EAGER\n(luôn luôn sạc)" 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 — Stratégie\n(theo yêu cầu)" as lazy_strat {
[Méthodologies] as meth
[Archives sessions] as sessions
}
package "LAZY — Graphify\n(truy vấn mục tiêu)" as lazy_graph {
[graph.json] as gj
[Queries\n(query/path/explain)] as queries
}
package "Pipeline PlantUML\n(tự động tạo)" as puml {
[generateKnowledgeGraphDiagram] as kgTask
[generateDiagramDocs] as ddTask
[Diagrammes PNG] as diagrams
}
Agent --> eager : Đọc vào đầu phiên
Agent ..> lazy_strat : Tải nếu loại được phát hiện
Agent ..> lazy_graph : Truy vấn nếu cần cấu trúc
kgTask --> diagrams : xác định
ddTask --> diagrams : Qua LLM
note right of gr
Bộ tóm tắt của Knowledge Graph
God nodes + cộng đồng
Thay thế ECOSYSTEM_OVERVIEW
(225 dòng → 50 dòng)
end note
@enduml
Sự kết hợp giữa hai hệ thống này mang tính bổ trợ cho nhau:
-
Chiến lược quản lý KHI NÀO và NHƯ THẾ NÀO— quản trị, quy trình làm việc, lưu trữ
-
Graphify quản lý cái GÌ và ở ĐÂU— cấu trúc mã, các mối quan hệ, các truy vấn mục tiêu
Vui lòng cung cấp văn bản tiếng Pháp bạn muốn dịch. Chiến lược phiên quản lýKHI NÀO et le BÌNH LUẬN(quản trị, quy trình công việc, ngưỡng), Graphify quản lý cáiCÁI GÌ et le Ở ĐÂU(cấu trúc mã, các mối quan hệ, các truy vấn mục tiêu). Pipeline PlantUML xử lý việcVỚI CÁI GÌ(các biểu đồ tất định, được đánh phiên bản, luôn được cập nhật). Vui lòng cung cấp nội dung cần dịch.
Chuẩn bị: danh sách kiểm tra trong 5 phút
| # | Bước | Lệnh |
|---|---|---|
1 |
Cài đặt Graphify |
|
2 |
Cấu hình các loại trừ |
Tạo`.graphifyignore` |
3 |
Trích xuất Knowledge Graph |
|
4 |
Tạo các sơ đồ |
|
5 |
Commit các kết quả |
|
# 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/
Các bẫy và biện pháp giảm thiểu
| Bẫy | Mô tả | Giảm thiểu |
|---|---|---|
Đồ thị quá dày đặc |
Một dự án lớn tạo ra hàng trăm nút không thể đọc được |
Sử dụng`-Pplantuml.kg.maxNodes=30`và lọc theo cộng đồng |
Loại trừ quá rộng |
Quá nhiều tệp trong`.graphifyignore`giảm giá trị của đồ thị |
Bắt đầu bằng cách chỉ loại trừ credentials và build |
Hướng mũi tên |
Các cạnh INFERRED có thể có hướng mơ hồ |
Lọc theo`-Pplantuml.kg.edgeTypes=EXTRACTED`chỉ dành cho các quan hệ chắc chắn |
Ký tự lỗi thời |
Mã thay đổi nhưng đồ thị không được xây dựng lại |
Sử dụng`graphify . --update`thường xuyên hoặc hook git`graphify hook install` |
Chi phí đã cập nhật |
Các bản cập nhật gia tăng gần như miễn phí (tree-sitter local) |
Chỉ các tài liệu ( |
Kết quả cuối cùng mà chúng ta nhận được
@startuml
skinparam backgroundColor #FEFEFE
rectangle "TRƯỚC" as avant {
card "Sơ đồ vẽ bằng tay\nLuôn bị lỗi thời\nKhông ai cập nhật" as av1 #FDEDEC
}
rectangle "SAU" as apres {
card "Sơ đồ được tạo tự động\nLuôn cập nhật cùng mã nguồn\nĐược quản lý phiên bản trong Git\nĐịnh tính và có thể tái lập" as ap1 #E8F8E8
}
avant --> apres : graphify . --no-viz\n+ ./gradlew generateKnowledgeGraphDiagram
@enduml
Những lợi ích cụ thể:
| Lợi nhuận | Chi tiết |
|---|---|
Tài liệu luôn được cập nhật |
Các biểu đồ phản ánh mã nguồn hiện tại, không phải là một snapshot thủ công |
Không tốn công bảo trì |
Các sơ đồ sẽ tự động tạo lại sau mỗi lần build |
Giảm nợ kỹ thuật |
Không còn cần phải duy trì các sơ đồ bằng tay |
Ngữ cảnh trực quan cho người mới |
Một lập trình viên mới hiểu được kiến trúc bằng cách xem các sơ đồ |
Khả năng tinh chỉnh (Fine-tuning) tiềm năng |
Các cặp (sous-graphe → diagramme) là các ví dụ huấn luyện AI |
Xác thực tự động |
`PlantumlService.validateSyntax()`kiểm tra từng biểu đồ được tạo ra |
Nhập môn nhanh chóng |
5 sơ đồ = góc nhìn đầy đủ về kiến trúc |
Please provide the text you would like me to translate. Người có một tại sao có thể chịu đựng mọi thế nào. Vui lòng cung cấp văn bản cần dịch.
Lý do (pourquoi): các sơ đồ luôn được cập nhật. Cách thực hiện (comment): hai lệnh trong một pipeline Gradle.
Liên kết
-
Mẹo siêu hữu ích của lệnh `fg— bài viết trước về workflow terminal