【问题标题】:How to do CamelCase with German words (or with any other language that supports compound nouns)?如何用德语单词(或任何其他支持复合名词的语言)做 CamelCase?
【发布时间】:2011-08-31 09:33:06
【问题描述】:

免责声明:如果您认为它不适合 StackOverflow,请随意将其关闭为“过于本地化”。由于这里有相当大的德语社区,我想我应该试一试。

CamelCase 经常用于编程语言约定(C# 中的方法名称、Java 中的公共方法名称等)。用英语很容易做到:你只需连接单词并将每个单词的第一个字母大写:DisplayNameInternalName

然而,在许多情况下,德语支持复合名词。例如,“Anzeigename”(DisplayName)是一个名词,但“inner Name”(InternalName)不是。所以,后一种情况很容易骆驼化:它是InternerName,就像英语中的骆驼规则一样。第一种情况呢?一个可以

  • 使用Anzeigename,与德语语法保持一致,或
  • 使用AnzeigeName,以保持与CamelCase 和其他*Name-s 的外观和感觉一致,它们不是单一名词。

在这方面是否有一些指导方针或公认的最佳实践?

我意识到仅使用英文名称很容易解决此问题,但在开发特定领域的软件时,或者当配置文件必须由不具备良好英语语言技能的人阅读时,这有时是不可行的。当您确定该软件只会在德语环境中使用时,为 Umsatzsteuervoranmeldung 制作英文翻译是没有意义的......

【问题讨论】:

  • Argh. 请不要在代码中使用denglishif (Anzeige) then Aufruf()非常恼人的。
  • IME 最好找到英文单词,如果没有直接对应的,我只会使用本地化单词。
  • 我同意这很麻烦。尽管如此,在某些情况下,不存在英语对等词,或者英语对等词会显得非常格格不入或不自然。在这些情况下,就会出现上述问题。事实上,在这些情况下,对所有单词使用德语可能是有意义的,至少在这方面保持一致。
  • 标签 german 作为 2012 cleanup 的一部分被删除。

标签: c# language-agnostic localization naming-conventions


【解决方案1】:

英文也有同样的问题。

例如 SurnameLastName

如果用该语言编写时前面有空格,则使用大写字母

【讨论】:

    【解决方案2】:

    我认为您没有任何理由将驼峰名称命名为“一致”。挪威语(我的母语)以同样的方式工作,驼峰式不应该用于其他任何东西,除了替换空白。

    但话又说回来,我永远不会用英语以外的任何语言编写代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多