字符串资源文件的命名方案和管理

13

或许是一个琐碎的问题,但我对答案很感兴趣。目前我正在重构一些非常大的单体字符串资源文件(每个项目有一个垃圾资源文件,约30个项目)。我将它们拆分成符合我们文件约定的结构,使得在编码时更容易找到和管理这些字符串。

通常,我会按照以下方案划分文件:

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

我对这些命名并不是特别满意,只想知道其他人使用的是什么。例如,对于用于应用程序内部使用的字符串(如 AppResources),我看过很多演示项目使用 StringResourcesInternal(可怕!)等等。

欢迎提供关于管理资源或标准命名方案的想法、轶事和建议。

1个回答

18

我通常会按照以下结构组织资源:

第一个资源文件是整个应用程序所使用的(例如 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_HeadlineHowToUseResourcesHelp_FAQ_TextHowToUseResources

最后,每个项目/程序集也有一个内部的资源文件,用于存储太特定而不适合放在CommonResources.resx 文件中的 Error/Warn/Info/Validation 资源。我必须承认,我大多数情况下将此资源文件命名为 InternalResources.cs;)

  • InternalResources.resx
    访问修饰符: 内部的
    • Classname_Error_Context
      例如BCrypt_Error_InvalidSaltRevision
    • Classname_Warn_Context
    • Classname_Info_Context
    • Classname_Validation_Context

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接