Autoren-Regeln¶
Normative Vorgaben für Autoren von .puml-Diagrammen in Projekten mit doubleSlash Gen2 Theme.
Notation & Benennung¶
Element-Namen¶
| Element | Konvention | Beispiel |
|---|---|---|
| Klassen, Services | PascalCase | OrderService, PaymentGateway |
| Use Cases | Sentence case in Klammern | (Place order) |
| Aktoren | Klartext, ggf. Anführungszeichen | Actor "Customer" |
| Packages / Systeme | Klartext | rectangle "Online Shop" |
Titel-Format¶
Soll: [Projekt] — [Diagrammtyp]: [Subject]
Sprache¶
| Kontext | Empfehlung |
|---|---|
| Architektur-Diagramme in DE-Projekten | Deutsch (Labels, Titel, Notes) |
| Code-Artefakte | Englisch (Klassennamen, Dateinamen) |
| PUML-Kommentare | Englisch (Repo-Konvention) |
Struktur einer .puml-Datei¶
@startuml eindeutiger-name
!include .../doubleslash/doubleslash-gen2.puml ' oder light/dark/system/gantt
title [Projekt] — [Typ]: [Subject]
' Diagramminhalt
@enduml
Do / Don't-Galerie¶
1. Theme-Include statt Inline-skinparam¶
2. Stereotyp statt manueller Farbe¶
3. Gen2 statt Legacy-Theme¶
4. Konsistenter Modus¶
@startuml
!$PUML_MODE = "light"
!$PUML_BGCOLOR = "white"
!include https://raw.githubusercontent.com/doubleSlashde/umltheme/main/doubleslash/doubleslash-gen2.puml
note as AntiPattern
**Do not** set !$PUML_MODE = "dark" after this include —
tokens are already assigned for light mode.
end note
class BrokenExample
@enduml
5. CSS-Padding (PlantUML ≥ 1.2026.3)¶
6. Externe Systeme kennzeichnen¶
7. System-Bundle für C4¶
8. Gantt-Doppel-Include¶
9. Keine überladenen Diagramme¶
Fokussiertes Sequenzdiagramm mit 4–6 Participant, gruppiert mit ==
20+ Participant ohne Gruppierung, Inline-Farben pro Nachricht
10. Semantik über Theme-Prozeduren¶
11. Keine Schattierung aktivieren¶
12. Titel über Theme, nicht inline formatieren¶
Autor-Lokal: Wann erlaubt?¶
| Erlaubt (mit Begründung) | Verboten |
|---|---|
left to right direction |
Hardcoded Hex-Farben |
hide stereotype, hide circle |
Globale skinparam-Overrides |
top to bottom direction |
Legacy-Theme-URLs |
| Diagramm-spezifisches Layout | Mix light + dark Includes |
!pragma für Einzelfall-Layout |
Duplizieren von Theme-Molekülen |