Big*_*ert 12 c# naming-conventions automatic-properties
在与同行的讨论中,我们提出应该考虑对所有类级变量使用自动属性...包括私有变量.
所以除了像这样的公共财产:
public int MyProperty1 { get; set; }
Run Code Online (Sandbox Code Playgroud)
我们的私有类级变量如下所示:
private int MyProperty2 { get; set; }
Run Code Online (Sandbox Code Playgroud)
代替:
private int _myProperty2;
Run Code Online (Sandbox Code Playgroud)
关于为什么有人想要这样做但我无法决定我是否愿意接受这一点是因为我自己内部洗脑以及如何将我的代码写入相同的编程标准和命名惯例使用了10年,或者因为我以前从未见过这种情况(因为某种原因).
我知道这是额外的代码输入,但说实话,在使用自动属性时,由于'prop'和'propg'片段,我认为我没有输入它所以它设置起来非常简单一个新的代码片段来创建一个私有的自动属性,所以额外的代码不会打扰我太多,因为我从来没有打字.
除了美学可能只是我的潜意识,使用完全私人汽车属性可能会导致任何问题吗?这样做有没有充分的理由呢?我今天在stackoverflow,codeplex,codeproject等上看到了很多代码,我从未见过有人使用过这个标准....有什么原因吗?
在我看来,私人自动财产完全没有意义.私有自有资产提供的普通字段没有什么价值?
(当auto-property只是部分私有时 - 例如,带有私有setter的public/protected getter - 或者当你使用私有非自动属性来使你能够在getter/setter周围包含额外的代码时,它会有所不同. )
这没有多大意义.
我能想到一个'好处':
但坦率地说,你的课程不应该变得那么大,以至于这很有用.
"有什么问题吗?"
您的属性不能用作参数ref或out参数.
| 归档时间: |
|
| 查看次数: |
2829 次 |
| 最近记录: |