Die Aufgabe, sequentielle numerische Codes zum Nummerieren von Nachrichten im Quellcode in Visual Studio zu erstellen (z. B. C #)

Hallo an alle


Lassen Sie mich einen kleinen Life-Hack mit Ihnen teilen, den ich seit einigen Jahren erfolgreich verwende - das Erstellen von sequentiellen numerischen Codes für Textnachrichten im Quellcode, während der Quellcode in Visual Studio direkt bearbeitet wird:

Bild

Ich begann über diese Aufgabe nachzudenken, als mehrere Dutzend Nachrichten an die Benutzer- / Fehler- / Ausnahmehandler im Code "gebildet" wurden und es unmöglich wurde, die Tatsache in Kauf zu nehmen, dass es beim Empfang der nächsten Nachricht zur Laufzeit schwierig wurde, zu navigieren, woher sie kam. Es bestand ein starker Wunsch, alle Nachrichten mit aufeinanderfolgenden Indizes zu nummerieren, die zu Beginn jeder Nachricht angezeigt werden, aber damit diese Sequenz erstellt werden kann, während der Quellcode nur über die Tastatur im laufenden Betrieb eingegeben wird (um nicht vom Codierungsprozess abgelenkt zu werden).

Bild

Dies geschieht wie folgt:

  1. Erstellen Sie eine Aufzählung für Fehlercodes.
  2. Spezielle Syntax für Codes in enum: "_number". (Am Anfang der Zahl steht ein Unterstrich, da für die Aufzählung noch symbolische Namen erforderlich sind.)
  3. Der "Digitalisierer" des Formats "_number" in die tatsächliche Nummer.
  4. Die Magie, einen numerischen Code im laufenden Betrieb zu erhöhen.

1.2:


/// " "    public enum MCodes{ _000, _001, _002, } 

3: "Digitizer" im Format "_number" in der tatsächlichen Nummer


 static class _MCodeExtensions{ /// mini formar error message -    . public static string mfem(this MCodes mcode) { //string str = $"{nameof(rcode)} = {rcode}, {nameof(mcode)} = {mcode}"; int val = Int32.Parse(mcode.ToString().Substring(1)); string str = $"{nameof(mcode)} = {val}"; return str; } } 

4. Magie


Die Magie besteht darin, die Funktionen von IntelliSense für Visual Studio zu verwenden:

Bild


Tatsächlich werden diese Aktionen ziemlich schnell ausgeführt (Zeitlupe):

Bild


Verwenden Sie


"Normalerweise" werden unterstrichene Zahlen im Quellcode selten verwendet. Wenn Sie diese Nummer also mit Strg-F (Suche in der aktuellen Datei) oder Strg-Umschalt-F (Suche im gesamten Projekt) suchen, wird der Ort des Fehlers genau angegeben.

(Natürlich können Sie die Aufzählung öffnen, den Code finden und Umschalt-F12 drücken, aber dies ist der richtige Weg von der Entladung entfernt ...)

Nachteile


1. Wenn Sie Codeteile mit eingefügten Fehlercodes kopieren, sind die Fehlercodes natürlich nicht mehr eindeutig. Um sie zu bekämpfen, müssen Sie die Enum-MCodes regelmäßig überprüfen und überprüfen, ob ein Code nur einmal verwendet wird
Bild


Die Verknüpfungen F12 und Shift-F12 helfen sehr.

2. Sie können im gewählten Format einen Fehler machen und nicht "_number" schreiben, sondern etwas anderes, das nicht in eine Nummer konvertiert werden kann. Ja, es wird eine Ausnahme geben.

Fazit


Das Nummerieren von Nachrichten, insbesondere über Fehler, bietet manchmal einen unschätzbaren Service beim Debuggen und Finden der Gründe für das Auftreten verschiedener Nachrichten. Ich hoffe, dass diese Methode dazu beiträgt, diese Aufgabe zu vereinfachen.

Es scheint, dass dies ein Minimum an Körperbewegungen ist?

PS


Dies ist meine äußerst subjektive Einstellung zu Fehlercodes, aber plötzlich hilft es Ihnen bei etwas. Es kann nicht nur zum Inkrementieren von Fehlercodes verwendet werden, sondern auch für andere Sequenzen. Natürlich Anpassung der Lösung nach Ihrem Geschmack.

Der Grund für die Verwendung des Zahlenformats in enum in Form von "number" ist, dass int tatsächlich hinter enum verborgen ist und das enum-Mitglied ab dem Beginn der Sequenz nummeriert ist (es kann syntaktisch zugewiesen werden, dies erfolgt jedoch nicht automatisch über IntelliSense, und Sie müssen überhaupt keine Zeit damit verbringen Ich möchte). Und auch die Bedeutung dieses Mitglieds hängt vom Standort ab. Und wenn sich der Standort ändert, ist die Nummer bereits anders. Daher wird der Wert selbst überall im Code ignoriert.

Ein bisschen Theorie über Enum Enums .

Source: https://habr.com/ru/post/de461125/


All Articles