archivo de recurso de cadena esquemas de nomenclatura y gestión
-
01-10-2019 - |
Pregunta
Una pregunta trivial tal vez, pero estoy interesado en las respuestas. Actualmente estoy refactorización algunos archivos de recursos de cadena monolítica muy grandes (archivo de recursos de un contenedor de basura por proyecto, en unos 30 proyectos). Estoy división ellas de tal manera que seguimos una convención para nuestros archivos y hacer que las cuerdas más fácil de encontrar y administrar al codificar.
En general estoy división de los archivos en este esquema:
- ErrorMessages.resx
- LogMessages.resx
- ViewResources.resx
- AppResources.resx
No estoy terriblemente emocionado con el nombramiento, y me pregunto lo utilizan otras personas. Por ejemplo, en lugar de AppResources
(cadenas para uso interno de la aplicación), he visto una gran cantidad de proyectos de demostración utilizar StringResources
, Internal
(terrible!), Etc.
Ideas / anécdotas / sugerencias sobre la gestión de los recursos o esquemas de nomenclatura estándar son apreciadas.
Solución
Yo generalmente estructurar mis recursos como esto:
El primer archivo de recursos es utilizada por toda la aplicación (por ejemplo Project.Core
) y no incluye todo tipo de cadenas comunes ampliamente utilizados. En realidad no hay ninguna diferencia entre los errores / excepciones y registro:
-
CommonResources.resx
modificador de acceso: Público-
Error_Context
por ejemploError_ArgumentCannotBeNull
-
Warn_Context
por ejemploWarn_ApplicationSettingNotFoundUseDefault
-
Info_Context
por ejemploInfo_UpdateAvailable
-
Validation_Context
por ejemploValidation_EmailNotValid
-
El archivo segundo recurso es utilizado por la capa de presentación y contiene todo tipo de cadenas de la IU. La denominación puede variar de un proyecto a otro, pero en general parece que el siguiente esquema:
-
PresentationResources.resx
modificador de acceso: Interno-
Common_Context
por ejemploCommon_Yes
-
Section/Controller_Window/View_Context
por ejemploHelp_FAQ_HeadlineHowToUseResources
oHelp_FAQ_TextHowToUseResources
-
Finalmente cada proyecto / montaje tenga también un archivo de recursos internos para el error Advertir a los recursos / / Info / validación que son demasiado específicas para ir en el archivo CommonResources.resx
. Tengo que admitir, que en su mayoría un nombre a este archivo de recursos InternalResources.cs
;)
-
InternalResources.resx
modificador de acceso: Interno-
Classname_Error_Context
por ejemploBCrypt_Error_InvalidSaltRevision
-
Classname_Warn_Context
-
Classname_Info_Context
-
Classname_Validation_Context
-