你觉得代码折叠怎么样?

Bry*_*nny 23 folding visual-studio

对于那些在Visual Studio环境中的人,您如何在#regions中包装任何代码?(或者,如果任何其他IDE有类似的东西...)

Lar*_*lum 35

10次​​中有9次,代码折叠意味着您未能使用SoC原则来实现它的价值.
我或多或少对部分课程有同感.如果你有一段代码,你认为太大,你需要在可管理(和可重复使用)的部分中删除它,而不是隐藏或拆分它.
它会在下次有人需要改变它时咬你,并且看不到隐藏在方法的250行怪物中的逻辑.

无论何时,只需将一些代码从主类中提取出来,然后输入帮助程序或工厂类.

foreach (var item in Items)
{
    //.. 100 lines of validation and data logic..
}
Run Code Online (Sandbox Code Playgroud)

不像是那样可读

foreach (var item in Items)
{
    if (ValidatorClass.Validate(item))
        RepositoryClass.Update(item);
}
Run Code Online (Sandbox Code Playgroud)



我的0.02美元反正.


Pat*_*Pat 14

这是关于Coding Horror的讨论.

我个人的信念是,它们是有用的,但是任何过量的东西都可能太多了.

我用它来命令我的代码块:
Enumerations
声明
构造函数
方法
事件处理程序
属性

  • 如果类文件更容易使用它确定.通常如果它是一个短类,但区域不会有帮助,所以我省略它们. (2认同)

Jos*_*gle 10

有时您可能会发现自己在鼓励或需要#regions的团队中工作.如果你像我一样,你不能忍受折叠代码,你可以关闭C#的概述:

  1. 选项 - >文本编辑器 - > C# - >高级选项卡
  2. 取消选中"文件打开时输入大纲模式"


Gre*_*man 5

虽然我理解杰夫等人的问题.人.有区域,我明白是为什么点击CTRL+ M,CTRL+ L扩展文件中的所有区域是如此难以处理.


End*_*ssa 5

我使用#Region来隐藏丑陋且无用的自动生成的代码,这些代码实际上属于部分类的自动生成部分.但是,在处理旧项目或升级项目时,您并不总是那么奢侈.

至于其他类型的折叠,我一直折叠功能.如果你很好地命名这个函数,除非你正在测试某些东西或者(重新)编写它,否则你将永远不必向内看.