Счетные схемы и управление именами и управлением
-
01-10-2019 - |
Вопрос
Возможно, тривиальный вопрос, но я заинтересован в ответах. Я в настоящее время рефакторирую некоторые очень большие монолитные файлы строковых ресурсов (один файл ресурсов мусора на проекте, примерно в 30 проектах). Я расщепляю их так, что мы следуем конвенции для наших файлов и сделаем строки легче найти и управлять при кодировке.
Вообще я разделяю файлы в эту схему:
- Errormessages.resx.
- Logmessages.resx.
- ViewResources.resx.
- Entensources.resx.
Я не ужасно в восторге от имени, и мне просто интересно, что используют другие люди. Например, вместо AppResources
(Строки для внутреннего использования приложению) я видел много демонстрации демонстрации StringResources
, Internal
(ужасно!) И т. Д.
Идеи / анекдоты / предложения по управлению ресурсами или стандартными схемами именования ценятся.
Решение
Я вообще структурирую мои ресурсы, как это:
Первый файл ресурсов используется всем приложением (например, Project.Core
) и включает все виды широко используемых общих строк. Я на самом деле не имею никакой разницы между ошибками / исключениями и регистрацией:
CommonResources.resx
Модификатор доступа: публичныйError_Context
напримерError_ArgumentCannotBeNull
Warn_Context
напримерWarn_ApplicationSettingNotFoundUseDefault
Info_Context
напримерInfo_UpdateAvailable
Validation_Context
напримерValidation_EmailNotValid
Второй файл ресурсов используется презентационным слоем и содержит все виды строк UI. Наименование может варьироваться от проекта для проекта, но вообще похоже на следующую схему:
PresentationResources.resx
Модификатор доступа: внутреннийCommon_Context
напримерCommon_Yes
Section/Controller_Window/View_Context
напримерHelp_FAQ_HeadlineHowToUseResources
илиHelp_FAQ_TextHowToUseResources
Наконец, каждый проект / сборка также имеет внутренний файл ресурсов для ошибок / Warn / Info / Validation Resources, которые слишком специфичны для поезда в CommonResources.resx
файл. Я должен признать, что я в основном имею этот файл ресурсов InternalResources.cs
;)
InternalResources.resx
Модификатор доступа: внутреннийClassname_Error_Context
напримерBCrypt_Error_InvalidSaltRevision
Classname_Warn_Context
Classname_Info_Context
Classname_Validation_Context