Вопрос

Возможно, тривиальный вопрос, но я заинтересован в ответах. Я в настоящее время рефакторирую некоторые очень большие монолитные файлы строковых ресурсов (один файл ресурсов мусора на проекте, примерно в 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top