Ich schreibe dieses Thema hier, weil ein Teil der Unterhaltung bereits auf Deutsch per Email stattfand.
Es geht um Uncrustify.
Wir benutzen für das OpenPetra auf Github momentan Version 0.59.
OM benutzt für den privaten Fork noch die Version 0.56.
Unsere Konfigurationsdatei für uncrustify ist hier: https://github.com/openpetra/openpetra/blob/master/inc/cfg/uncrustify-petra.cfg
Es funktioniert so: man führt im Wurzelverzeichnis (oder z.B. auch in csharp/ICT/Common
) den Befehl:
nant uncrustify
aus, und dann werden alle .cs
Dateien entsprechend der vorgegebenen Regeln in der Konfigurationsdatei umformatiert.
Zu untersuchen ist, wieviel Aufwand es ist, von 0.59 auf die aktuelle Version von uncrustify (0.61) umzusteigen.
Machen die Anpassungen Sinn?
Wir müssten dann noch Pakete für Ubuntu und für Windows bauen, das könnte ich (Timotheus) machen.
Ein Anliegen von Christian ist wegen den Delegates (Beispiel Verwendung Delegates):
Es gibt noch was an der aktuellen uncrustify-Version/Konfiguration, was wir vorzugsweise anders haben moechten:
Wenn wir die neuen Auto-Transaction-Methoden mit dem Delegate als Argument verwenden, setzen wir aus Lesbarkeitsgruenden das Wort ‚delegate‘ auf eine eigene Zeile (siehe https://wiki.openpetra.org/index.php/Automatic_DB_Transaction_Handling#Usage ).
Wenn man als Programmierer das Wort ‚delegate‘ auf die selbe Einrueckungsebene stellt wie das Wort ‚DBAccess‘ (wie auf der Wiki-Seite gezeigt) und anschliessend uncrustify anwendet, rueckt dieses aber das Wort ‚delegate‘ auf die naechste Einrueckungsebene, d.h. um 4 Leerzeichen, ein. Es ist schon verstaendlich, warum: ‚delegate‘ ist ein Argument, und Uncrustify rueckt Argumente nun so ein.
Schoen waere es aber, wenn uncrustify ‚delegate‘ nicht um 4 Leerzeichen einrueckt, da es von der Lesbarkeit her keinen Grund fuer die Einrueckung gibt, und so nur mehr nach rechts gescrollt werden muss bei laengeren Codezeilen innerhalb des Delegate-Blocks.
Ich habe daraufhin geantwortet, dass das Verhalten in 0.61 nochmal ganz anders ist.
Christian schrieb dann:
Hmm, ich denke, dass das ‚ausruecken‘ der geschweiften oeffnenden Klammer gegenueber dem Wort ‚delegate‘ um vier Zeichen in uncrustify 0.61 mich weniger stoeren wuerde als dass das Wort ‚delegate‘ samt dem gesamten delegate-Codeblock eingerueckt ist, so wie es jetzt. Stimmt schon, es sieht ein wenig komisch aus, aber immerhin wuerde man weniger nach rechts scrollen muessen bei laengeren Code-Zeilen innerhalb des delegate-Codeblocks, um den gesamten Code zu sehen – und das waere eine Verbesserung – aber vielleicht ist das nur ein Thema fuer mich, und nicht fuer die anderen Entwickler, die 16:9-Monitore benutzen (ich hab‘ noch 4:3)? Werde heute mal im Conference Call fragen.