0

我从java来到C#。Java 有一组约定,可以很容易地通过大小写来查看标识符的使用。

阅读 Microsoft 的约定,似乎他们希望您使用 Pascal 案例,除了参数之外的几乎所有内容。在我看来,这是一个信息量少得多的约定。

在 .NET/Mono 世界中,打破这种约定真的被认为是一种糟糕的形式吗?我是否只需要习惯它,或者我可以将我的 Java 习惯带到我的 C# 代码中以供其他人使用吗?

4

5 回答 5

4

好吧,最终这取决于您选择什么。如果其他人对 Java 命名风格没意见,你可以使用它,但我可能会坚持帕斯卡大小写,至少对于公共成员来说,你的类与语言的其余部分保持一致。

ReSharper 提供了将命名约定转换为重新格式化代码的快速方法,因此您也可以尝试将您学到的方法用于新类,并在您签入代码以供其他人查看之前让它执行它的魔力:-)。

于 2014-01-26T00:01:13.053 回答
2

我个人认为函数的名称远比它的大小写重要,还有它的 XML 注释。即使您不遵守任何约定,只要这两件事井井有条,没有人会在使用您的代码时遇到问题。另一方面——再多的传统也无济于事DoMagic2_2(int a, string b, decimal bb)。因此,专注于这一点并使用对您来说更容易的任何约定。

于 2014-01-26T00:06:20.390 回答
1

我建议遵循约定,因为它使您的代码更加文明。鉴于将会有更多的 C# 开发人员阅读(或)有兴趣阅读您的 C# 代码而不是 Java 开发人员。例如,如果您想在博客或 StackOverflow 之类的线程中发布内容,那么如果您遵循约定,您的代码将更有意义/对于相应的开发人员来说不会显得太陌生。另外,我相信适应特定的惯例一点也不难。我是一名 C# 开发人员,目前在 Rails 上工作,所以请相信我。

于 2014-01-26T00:08:10.593 回答
1

这完全取决于您的代码的读者。如果您是唯一一个阅读它的人,或者其他读者将精通 Java,那么这可能不是问题。再说一次,如果你的代码阅读者更多是 C#y 人,你的代码对他们来说会很奇怪,并且可能会让他们感到困惑。

于 2014-01-26T00:00:26.077 回答
0

我不明白为什么它应该是更少的信息,无论如何,大小写并不能说明一切,但是关于你正在处理的内容的大部分信息来自语法和用法。虽然我从未做过任何严肃的 Java,但到目前为止它们并没有那么不同,可能最值得注意的是方法名称是小写 (Java) 与大写 (C#)。

在任何情况下,它们只是约定,并且与任何约定一样,它们在某种程度上是任意的。这实际上取决于您更喜欢什么,谁必须阅读您的代码,以及代码库中已经存在哪些代码。约定最重要的一点是让所有代码看起来都一样,无论你/其他人喜欢什么风格。

如果您已经编写了代码(由您或其他人编写)并且必须对其进行修改,那么为了保持一致性,一定要坚持使用它已经存在的任何内容。但是,如果从头开始,您可能想决定遵循 Java 标准以使自己感到舒适,或者决定遵循 C# 标准以方便他人阅读。或者,为什么不与您的团队就“中间立场”定制约定做出决定?这样每个人都对此感到满意。

于 2014-01-26T00:06:28.803 回答