谁喜欢Visual Studio中的#regions?

Nic*_*las 2 coding-style region visual-studio

我个人不能忍受区域标签,但显然它们对于组织代码具有广泛的吸引力,所以我想测试其他MS开发人员对这个想法的水温.

我个人的感觉是,任何简化代码的愚蠢技巧只会鼓励可怕的编码行为,例如缺乏凝聚力,意图不明确以及编码标准差或不完整.

一位程序员告诉我,代码区域通过明确另一个程序员应该放置他或她的贡献的位置来帮助鼓励编码标准.

但是,说实话,这对我来说听起来像是一堆马粪.如果你有一个标准,程序员的工作就是了解那个标准是什么......你不需要在每个单独的类文件中定义它.

而且,打开文件时,没有什么比让所有代码都崩溃更烦人了.我知道cntrl + M,L会打开所有内容,但是你有一个可怕的"哈希区域定义"打开和关闭行来阅读.

他们只是很烦人.

我最快速的编码理念是所有程序员都应该努力创建清晰,简洁和有凝聚力的代码.区域标签只会产生噪音和冗余意图.

区域标签在经过深思熟虑和有意思的课程中没有实际意义.

他们似乎对我有意义的唯一地方是自动生成的代码,因为除了个人好奇之外你永远不应该阅读它.

Mar*_*ers 6

StyleCop不喜欢区域:

SA1124:DoNotUseRegions

原因

C#代码包含一个区域.

规则说明

只要将区域放置在代码中的任何位置,就会违反此规则.在许多编辑器(包括Visual Studio)中,默认情况下该区域将显示为折叠状态,将代码隐藏在该区域内.隐藏代码通常是一种不好的做法,因为这会导致错误的决策,因为代码会随着时间的推移而得到维护.

如何修复违规行为

要修复违反此规则的行为,请从代码中删除该区域.

关于这是否是一个合理的规则,有一些讨论.

共识似乎是有些人喜欢地区而有些人不喜欢 - 这取决于个别团队的决定.最重要的是在整个项目中使用一致的样式.

区域可以接受的一个地方是对实现特定接口的所有方法进行分组.值得注意的是,如果使用代码生成功能为实现接口提供方法存根,Visual Studio会自动添加区域.

他们似乎对我有意义的唯一地方是自动生成的代码,因为除了个人好奇之外你永远不应该阅读它.

局部类特征为同一类内手动产生的代码分离自动生成的代码更好.

使用自动生成的源时,可以将代码添加到类中,而无需重新创建源文件.Visual Studio在创建Windows窗体,Web服务包装器代码等时使用此方法.您可以创建使用这些类的代码,而无需修改Visual Studio创建的文件.


Guf*_*ffa 6

我喜欢地区,并且一直使用它们.我用它们在课堂上对同类的成员进行分组.

您已经有了在编辑器中折叠方法,类和命名空间的方法.区域为您提供了创建另一个级别的选项,使您可以按照您认为重要的方式排列代码.