Was ist der empfohlene Formatierungsstil für C++?
user
uncrustify uncrustify wird für die automatische Einrückung und andere Formatierung des Quellcodes verwendet, um Richtlinien für die Codeformatierung zu folgen. Alle Codes müssen invariant unter uncrustify mit der Konfiguration bei admin/uncrustify.cfg bleiben. Es wird eine gepatchte Version von uncrustify verwendet. Siehe Automatische Quellcodeformatierung für Details. admin/copyright.py Dieses Python-Skript fügt Copyright-Header in Quelldateien hinzu und formatiert. uncrustify.sh (siehe unten) verwendet das Skript, um Copyright-Jahre auf geänderten Dateien zu überprüfen/aktualisieren.admin/uncrustify.sh Dieses Skript läuft uncrustify und copyright.py für alle Dateien, die lokale Änderungen haben und überprüft, ob sie dem vorgeschriebenen Stil entsprechen. Optional kann das Skript auch Änderungen anwenden, um die Dateien anzupassen. Dieses Skript wird automatisch von Jenkins ausgeführt, um sicherzustellen, dass alle Commits Richtlinien für die Codeformatierung einhalten. Wenn der Auftrag uncrustify nicht gelingt, bedeutet es, dass dieses Skript etwas zu beschweren hat. Siehe Automatische Quellcodeformatierung fürdetails. admin/git-pre-commit Dieser pre-commit Hook kann verwendet werden, wenn man uncrustify.sh automatisch vor jedem Commit anwenden möchte, um auf Formatierungsprobleme zu überprüfen. Siehe Automatisches Formatieren von Quellcodes für Details. docs/doxygen/includesorter.py Dieses Python-Skript sortiert und formatiert #include Direktiven gemäß den Richtlinien der Richtlinien für #include Direktiven. Details sind auf einer separaten Seite dokumentiert (mit der gesamten Suite von Python-Skripten, die für Quellcode-Checks verwendet werden):Include order sorting. include direction checker In seiner vorliegenden Form kann das obige Include sorter script nicht bequem in uncrustify.sh angewendet werden. Um Probleme zu prüfen, wird es stattdessen in ein check-source Build-Ziel integriert. Wenn dieses Ziel erstellt wird, überprüft es auch formatierungsprobleme. Intern verwendet es das Sortierer-Skript. Diese Überprüfung wird in Jenkins als Teil des Dokumentationsauftrags ausgeführt. Details zum Prüfmechanismus sind auf einer separaten Seite (üblich für mehrere Prüfer):Source tree checker scripts. admin/reformat_all.sh Dieses bash-Skript läuft uncrustify/copyright.py/ include sorter auf allen relevanten Dateien im Quellbaum (oder in einem bestimmten Verzeichnis). Das Skript kann auch die Liste der Dateien erstellen, in denen diese Skripte angewendet werden, für die Verwendung mit anderen Skripten. Siehe Automatische Quellcodeformatierung für Details. git Attribute git Attribute (spezifiziert in .gitattributes Dateien) werden verwendet, um zu notieren, welche Dateien automatisch Formatierungskontrollen unterliegen (und fürautomatische Neuformatierung durch die oben genannten Skripte. Siehe man gitattributes für eine Übersicht über den Mechanismus. Wir verwenden das Filterattribut, um die Art der automatischen Überprüfung/Formatierung anzuwenden. Benutzerdefinierte Attribute werden verwendet, um einige Build-Systemabhängigkeiten für eine einfachere Verarbeitung in CMake zu spezifizieren. include-what-you-use
assistant
Was ist das empfohlene Format für C#?
user