gpt4 book ai didi

c# - 适用于 IntelliSense 的命名约定

转载 作者:行者123 更新时间:2023-11-30 13:52:33 26 4
gpt4 key购买 nike

我开始像这样命名我的类即时变量:

    Car car;

原因是我认为汽车是变量的完美描述,我不需要添加额外的信息。

这对我来说效果很好,我很高兴,但有一个问题让我发疯。它弄乱了 IntelliSense如果我想做类型,它可能会选择私有(private)变量,反之亦然。

我见过有人这样做:

    Car myCar;

我不是很喜欢它,但它可能会起作用。

关于如何更好地做到这一点有什么想法吗?

我想补充一点,这主要适用于在方法内部创建的类的实例。

最佳答案

当看到这样的代码时,我会指出两点。

您显然没有变量的命名约定。我认为这样的约定非常有用,特别是对于区分属性、成员变量和局部变量。

.NET 生态系统中的常见约定是:

  • _privateVariable(由 Microsoft 使用和很多设计师生成的代码,例如linq2sql)

  • m_privateVariable(微软也用,我觉得TypedDatasets是使用此约定生成,但我不确定。)

  • 属性始终使用 PascalCaseAndNoExtras
  • loacl 变量总是camelcaseAndNoExtras

第二件事是完全像类一样命名变量。我认为最好不要使用类的名称作为变量名。 一个好的变量名应该在变量存在的范围内传达变量的类型含义

例如如果您想显示有关客户喜欢租用的汽车的信息,您宁愿将变量命名为 m_CarToRent 而不是 m_Car

关于c# - 适用于 IntelliSense 的命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1988771/

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