Схемы именования файлов ресурсов String

Может быть, тривиальный вопрос, но меня интересуют ответы. В настоящее время я реорганизую несколько очень больших монолитных файлов строк (один файл ресурсов для каждого проекта, около 30 проектов). Я раскалываю их так, что мы придерживаемся соглашения для наших файлов и упрощаем поиск и управление строк при кодировании.

Обычно я разбиваю файлы на эту схему:

  • ErrorMessages.resx
  • LogMessages.resx
  • ViewResources.resx
  • AppResources.resx

Я не очень взволнован именованием, и мне просто интересно, что другие люди используют. Например, вместо AppResources (строки для внутреннего использования приложения), я видел, как много демонстрационных проектов используют StringResources, Internal (ужасно!) И т.д.

Приветствуются идеи/анекдоты/предложения по управлению ресурсами или стандартным схемам именования.

Ответ 1

Я обычно структурирую свои ресурсы следующим образом:

Первый файл ресурсов используется всем приложением (например, Project.Core) и включает все виды широко используемых общих строк. Я действительно не делаю разницы между ошибками/исключениями и протоколированием:

  • CommonResources.resx
    Модификатор доступа: Public
    • Error_Context
      например, Error_ArgumentCannotBeNull
    • Warn_Context
      например, Warn_ApplicationSettingNotFoundUseDefault
    • Info_Context
      например, Info_UpdateAvailable
    • Validation_Context
      например, Validation_EmailNotValid

Второй файл ресурсов используется уровнем представления и содержит все виды строк пользовательского интерфейса. Именование может варьироваться от проекта к проекту, но обычно оно выглядит как следующая схема:

  • PresentationResources.resx
    Модификатор доступа: внутренний
    • Common_Context
      например, Common_Yes
    • Section/Controller_Window/View_Context
      например, Help_FAQ_HeadlineHowToUseResources или Help_FAQ_TextHowToUseResources

Наконец, каждый проект/сборка также имеет внутренний файл ресурсов для ресурсов Error/Warn/Info/Validation, которые слишком специфичны для использования в файле CommonResources.resx. Я должен признать, что я в основном называю этот файл ресурсов InternalResources.cs;)

  • InternalResources.resx
    Модификатор доступа: внутренний
    • Classname_Error_Context
      например, BCrypt_Error_InvalidSaltRevision
    • Classname_Warn_Context
    • Classname_Info_Context
    • Classname_Validation_Context