gpt4 book ai didi

C# 字段命名指南?

转载 作者:IT王子 更新时间:2023-10-29 03:57:00 26 4
gpt4 key购买 nike

我将自己编写一些 C# 代码,但我想确保遵循最广泛接受的命名约定,以防我想引入其他开发人员、发布我的代码或出售我的代码代码。现在我正在遵循 Microsoft 制定的命名约定,因为它们似乎是最广泛接受的。他们没有提到的一件事是为私有(private)字段命名。在大多数情况下,我看到它们像 protected 字段一样以驼峰命名,但这给我带来了一个问题,因为参数名称应该以驼峰命名。以下面的构造函数为例:

public GameItem(string baseName, string prefixName, string suffixName)
{
//initialize code
}

现在,如果我对私有(private)字段也使用驼峰命名法,就会出现命名冲突,除非我使用“this”来访问类字段(我认为这违反大多数标准,更不用说意味着更多的输入)。一种解决方案是为参数赋予不同的名称,但为相同的数据赋予 2 个不同的名称在逻辑上没有意义。据我所知,在 C++ 编码中常见的唯一其他解决方案是在开头为私有(private)成员添加下划线 (_camelCase)。该解决方案是否普遍接受 C# 编码?这个问题是否有另一种解决方案(比如仅使用属性(使用 PascalCase)来访问字段,即使在类本身中也是如此)?

最佳答案

_camelCase 字段在我所见中很常见(这是我们在我们的地方和 Microsoft prefer for the .NET Runtime 中使用的)。

我个人使用此标准的理由是,键入 _this 更容易识别私有(private)字段。

例如:

void Foo(String a, String b)
{
_a = a;
_b = b;
}

对比

void Foo(String a, String b)
{
this.a = a;
this.b = b;
}

我发现第一个更容易输入,它防止我意外地分配给名为 a 而不是 this.a 的参数。Code Analysis 加强了这一点可维护性规则规定:

  • CA1500变量名称不应与字段名称匹配。

我的另一个原因是 this. 是可选的(Visual Studio/Code 会提示您删除它们)如果它不与局部变量或参数名称冲突,从而知道您要使用哪个变量正在更努力地使用。如果您在所有私有(private)字段的开头都有一个 _,那么您总是知道哪个是一个字段,哪个是本地范围。

关于C# 字段命名指南?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3186853/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com