gpt4 book ai didi

visual-studio - 谁喜欢 Visual Studio 中的#regions?

转载 作者:行者123 更新时间:2023-12-02 05:29:13 26 4
gpt4 key购买 nike

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center寻求指导。




11年前关闭。




就我个人而言,我无法忍受区域标签,但显然它们对组织代码具有广泛的吸引力,所以我想测试水的温度,以供其他 MS 开发人员接受这个想法。

我个人的感觉是,任何简化代码的愚蠢技巧只会助长糟糕的编码行为,例如缺乏凝聚力、意图不明确以及编码标准差或不完整。

一位程序员告诉我,代码区域通过明确其他程序员应该将他或她的贡献放在哪里来帮助鼓励编码标准。

但是,坦率地说,这对我来说听起来像是一大堆马粪。如果您有一个标准,那么程序员的工作就是了解该标准是什么……您不需要在每个单独的类文件中定义它。

而且,没有什么比打开文件时所有代码都折叠更烦人的了。我知道 cntrl + M, L 将打开所有内容,但是您需要阅读可怕的“哈希区域定义”打开和关闭行。

他们只是烦人。

我最坚定的快速编码理念是所有程序员都应该努力创建清晰、简洁和有凝聚力的代码。区域标签只是用来制造噪音和多余的意图。

区域标签在经过深思熟虑和有目的的类(class)中没有实际意义。

它们似乎对我有意义的唯一地方是自动生成的代码,因为您永远不必出于个人好奇心而阅读它。

最佳答案

StyleCop doesn't like regions :

SA1124: DoNotUseRegions

Cause

The C# code contains a region.

Rule Description

A violation of this rule occurs whenever a region is placed anywhere within the code. In many editors, including Visual Studio, the region will appear collapsed by default, hiding the code within the region. It is generally a bad practice to hide code, as this can lead to bad decisions as the code is maintained over time.

How to Fix Violations

To fix a violation of this rule, remove the region from the code.


some discussion关于这是否是一个合理的规则。
共识似乎是有些人喜欢地区而有些人不喜欢——这取决于各个团队来决定。最重要的是在整个项目中使用一致的风格。
可以接受区域的一个地方是将实现特定接口(interface)的所有方法分组。值得注意的是,如果您使用代码生成功能为实现接口(interface)提供方法 stub ,Visual Studio 会自动添加一个区域。

The only place they seem to make sense to me, is in automatically generated code, because you should never have to read that outside of personal curiosity.


partial class feature更适合在同一类中将自动生成的代码与手动生成的代码分开。

When working with automatically generated source, code can be added to the class without having to recreate the source file. Visual Studio uses this approach when it creates Windows Forms, Web service wrapper code, and so on. You can create code that uses these classes without having to modify the file created by Visual Studio.

关于visual-studio - 谁喜欢 Visual Studio 中的#regions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4574357/

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