String-Ressource-Datei zu benennen und ihre Verwaltungs
-
01-10-2019 - |
Frage
Eine triviale Frage vielleicht, aber ich bin in den Antworten interessiert. Ich bin Refactoring derzeit einige sehr große monolithische String-Ressource-Dateien (eine Mülltonne Ressource-Datei pro Projekt, in etwa 30 Projekten). Ich bin Splitting sie so, dass wir eine Konvention für unsere Dateien folgen und die Saiten leichter zu finden und zu verwalten, wenn Codierung.
Im Allgemeinen bin ich Splitting die Dateien in dieses Schema:
- ErrorMessages.resx
- LogMessages.resx
- ViewResources.resx
- AppResources.resx
Ich bin schrecklich nicht mit der Namensgebung begeistert, und ich frage mich nur, was andere Leute benutzen. Zum Beispiel habe statt AppResources
(Strings für den internen Gebrauch durch die Anwendung), habe ich eine Menge Demo-Projekte verwenden gesehen StringResources
, Internal
(schrecklich!) Usw.
Ideen / Anekdoten / Vorschläge zu Ressourcen oder Standard-Namensschemata Verwaltung geschätzt werden.
Lösung
ich meine Ressourcen im Allgemeinen wie folgt strukturiert:
Die erste Ressource-Datei wird von der gesamten Anwendung verwendet (z Project.Core
) und enthält alle Arten von weit verbreiteten gemeinsamen Saiten. Ich mache eigentlich keinen Unterschied zwischen Fehlern / Ausnahmen und Protokollierung:
-
CommonResources.resx
Zugriffsmodifikator: Öffentliche-
Error_Context
z.B.Error_ArgumentCannotBeNull
-
Warn_Context
z.B.Warn_ApplicationSettingNotFoundUseDefault
-
Info_Context
z.B.Info_UpdateAvailable
-
Validation_Context
z.B.Validation_EmailNotValid
-
Die zweite Ressource-Datei wird von der Präsentationsschicht verwendet und enthält alle Arten von UI-Strings. Die Namensgebung kann von Projekt zu Projekt variieren, aber im Allgemeinen sieht es aus wie das folgende Schema:
-
PresentationResources.resx
Zugriffsmodifikator: Internal-
Common_Context
z.B.Common_Yes
-
Section/Controller_Window/View_Context
z.B.Help_FAQ_HeadlineHowToUseResources
oderHelp_FAQ_TextHowToUseResources
-
Schließlich jedes Projekt / Montag auch eine interne Ressource-Datei muss für Fehler / Warn / Info / Validation Ressourcen, die zu spezifisch sind in der CommonResources.resx
Datei zu gehen. Ich muss zugeben, dass ich meistens diese Ressourcendatei InternalResources.cs
nennen;)
-
InternalResources.resx
Zugriffsmodifikator: Internal-
Classname_Error_Context
z.B.BCrypt_Error_InvalidSaltRevision
-
Classname_Warn_Context
-
Classname_Info_Context
-
Classname_Validation_Context
-