Bonjour à tous
Permettez-moi de partager avec vous un petit hack de vie que j'utilise avec succès depuis environ deux ans - création de codes numériques séquentiels pour les messages texte dans le code source en train de modifier directement le code source dans Visual Studio:

J'ai commencé à penser à ce problème lorsque plusieurs dizaines de messages aux gestionnaires utilisateur / erreur / exception ont commencé à être "formés" dans le code et il est devenu impossible de supporter le fait que lors de la réception du prochain message lors de l'exécution, il était déjà difficile de naviguer d'où il venait. Il y avait un fort désir de numéroter tous les messages avec des index consécutifs qui seraient affichés au début de chaque message, mais pour que cette séquence puisse être créée tout en tapant le code source
à l'aide du clavier uniquement , à la volée (pour ne pas être distrait du processus d'encodage).

Cela se fait comme suit:
- Créez une énumération pour les codes d'erreur.
- Syntaxe spéciale pour les codes de l'énumération: "_number". (au début du nombre, il y a un trait de soulignement, car l'énumération nécessite toujours des noms symboliques).
- Le "numériseur" du format "_number" dans le nombre réel.
- La magie de l'incrémentation d'un code numérique à la volée.
1.2:
3: "Digitizer" du format "_number" dans le nombre réel
static class _MCodeExtensions{
4. Magie
La magie est d'utiliser les fonctionnalités d'IntelliSense pour Visual Studio:

En fait, ces actions sont effectuées assez rapidement (ralenti):

Utiliser
Les chiffres soulignés «habituellement» sont rarement utilisés dans le code source, donc trouver ce numéro en utilisant Ctrl-F (recherche dans le fichier actuel) ou Ctrl-Shift-F (recherche dans tout le projet) indiquera avec précision le lieu de l'erreur.
(Bien sûr, vous pouvez ouvrir l'énumération, trouver le code, appuyez sur Shift-F12, mais c'est le bon chemin depuis la décharge ...)
Inconvénients
1. Si vous copiez des morceaux de code avec des codes d'erreur insérés, alors, naturellement, les codes d'erreur ne seront plus uniques. Pour les combattre, vous devez revoir périodiquement les enum MCodes en vérifiant qu'un certain code n'est utilisé qu'une seule fois

Les raccourcis F12 et Shift-F12 aident beaucoup.
2. Vous pouvez faire une erreur dans le format composé et écrire non pas "_number", mais quelque chose d'autre qui ne peut pas être converti en nombre. Oui, il y aura une exception.
Conclusion
La numérotation des messages, en particulier sur les erreurs, fournit parfois un service inestimable pour le débogage et la recherche des raisons de l'apparition de différents messages. J'espère que cette méthode contribuera à simplifier cette tâche.
Il semble que ce soit un minimum de mouvements corporels?
PS
C'est mon attitude extrêmement subjective à l'égard des codes d'erreur, mais soudain, cela vous aidera avec quelque chose. Il peut être utilisé non seulement pour incrémenter des codes d'erreur, mais aussi pour d'autres séquences. Naturellement, personnalisation de la solution à votre goût.
La raison d'utiliser le format numérique enum sous la forme de "nombre" est que int est en réalité caché derrière enum, et le membre enum est numéroté depuis le début de la séquence (il peut être attribué syntaxiquement, mais cela ne se fait pas automatiquement via IntelliSense, et vous n'avez pas du tout à y consacrer du temps Je veux). Et la signification de ce membre dépend également de l'emplacement. Et si l'emplacement change, le nombre sera déjà différent. Par conséquent, la valeur elle-même est ignorée partout dans le code.
Un peu de théorie sur
Enum Enums .