Microsoft-ui-xaml: Frage: Warum keine Codeanalysatoren (oder Linters) für die Codebasis?

Erstellt am 25. Juli 2019  ·  3Kommentare  ·  Quelle: microsoft/microsoft-ui-xaml

Basierend auf der Anzahl der Kommentare zu diesem PR , die sich auf den grundlegenden Stil und die Codeformatierung beziehen, war ich überrascht, dass keine Analyseprogramme (oder ähnliche) eingerichtet sind, um automatisch auf Probleme wie die Verwendung von Leerzeichen oder Namenskonventionen zu prüfen.

Gibt es einen Grund, warum diese nicht hinzugefügt werden können?

Es hätte zwei unmittelbare Vorteile:

  1. Code würde konsistent formatiert sein, was beim Lesen, Verstehen und Pflegen hilft.
  2. Dies würde bedeuten, dass Code-Reviews nicht von trivialen Problemen abgelenkt werden und sich auf den Code konzentrieren können. Dies kann die Anzahl der Codekommentare reduzieren und verhindern, dass wertvolle Probleme in mehreren Diskussionen über Leerzeilen verloren gehen.

Die Kehrseite des Hinzufügens dieser automatischen Formatierungsprüfungen kann sein, dass vorhandener Code keine Regeln erfüllt und daher eine große Anzahl von Problemen angezeigt werden würde, wenn sie aktiviert werden.
Wenn dies der Fall ist, können die Regeln aktiviert (oder Analysatoren hinzugefügt) werden, wenn ein Projekt anderweitig geändert (oder hinzugefügt) wird, sodass nicht alles auf einmal erledigt wird.
Alternativ sind Formatierungsinkonsistenzen normalerweise leicht zu beheben und es kann daher nur ein paar Stunden dauern (basierend auf meinen bisherigen Erfahrungen mit anderen großen Projekten), um die gefundenen Probleme zu beheben, da Tools normalerweise die meisten von ihnen automatisch beheben können und daher nur Ausnahmen manuell erforderlich sind Eingriff oder Überprüfung.
Es ist nicht die aufregendste Arbeit, aber sie bringt im Laufe der Zeit einen Mehrwert.
Die vorhandene Codeabdeckung sollte die Änderung zu einer risikoarmen Änderung machen.

question

Alle 3 Kommentare

Ich denke, die Editorconfig könnte verbessert oder FxCopAnalyzers hinzugefügt werden.

Ich dachte an StyleCop.Analyzers für den C#-Code. Ich bin mir nicht sicher, was für C++ am besten ist.

Ich bin mir nicht sicher, was für C++ am besten ist.

@RanjeshJ arbeitet daran, Clang-Tidy und Clang-Format für die Ausführung auf der Codebasis zu aktivieren, und ich denke, das sollte für C++ helfen. MSVC hat einfach keinen guten Linter, soweit wir gesehen haben.

Für C# gibt es das neue Editorconfig-Zeug , das wir eingerichtet haben und das in C#-Dateien wirksam werden sollte. Wenn es mehr stilistische Dinge für C# gibt, die dort hinzugefügt werden müssen, können wir dies tun. Und wenn etwas wie StyleCop helfen würde, noch weiter zu gehen, können wir das auch betreiben. Aber ich habe nicht so viel Nit-Picking in C# gesehen, also denke ich, dass die editorconfig meistens ihre Arbeit macht.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen