代码清理:应该在类的顶部还是底部声明字段,变量和属性?

Voo*_*ild 5 c# organization

在C#代码中声明它接近底部是很常见的吗?

我看到几个例子,就是这样做的.

Resharper等工具可以帮助您组织源代码,是否可以选择指定应该为我创建区域的位置?

slu*_*ter 6

这是一个风格上的讨论,因为对于大多数编译器来说,(类文件的)顶部或底部的放置不会影响结果。从历史上看,很多人都在顶部这样做,但我喜欢将他们留在底部。

为什么?

因为一旦我声明了那个成员变量,我就不需要再看到它了——它出现在我的智能感知中,所以我不需要它。当你打开一个文件时,你会看到顶部——我想直接看到我的代码,而不是一堆变量声明。这一点尤其重要,因为变量定义不是 VS 编辑器中的本机可折叠区域,因此如果它们位于顶部,您将被迫滚动过去。如果我需要跳转到它,那么 Visual StudioF12或只是一个Ctrl+End将带我到那里。

这种风格有些人一开始可能会觉得很难处理,但它确实会很快在你身上成长。对于更成熟的文件,这是一种特别好的方法。您还会发现,如果您使用的是像 ReSharper 这样的插件,它足够聪明,可以将生成的声明与所有其他人一起放置 - 这意味着如果您将它们放在底部,那么 ReSharper 将放置它。当然,如果您在一个文件中有多个类,这会变得很混乱,但是如果您这样做了,那么变量定义的位置是您的风格问题中最少的。

编辑:

冒着偏离主题的风险,对使用#region块的评论:我一直使用区域,我喜欢它们,因为它们帮助我将代码折叠起来。然而,使用它们需要纪律,因为不相关的代码很容易进入该区域。你有多少次寻找代码却发现它被埋在了一个#region不属于它的地方?