首页 > 解决方案 > 仅使用花括号进行代码折叠?

问题描述

我目前正在自学 JavaScript。

当我处理一个开始变得冗长且难以导航的单个文本文件时,我通常使用整行斜杠来为每个部分制作注释标题。我意识到,如果我只是将一段代码括在花括号中(即 { long section of code },我的文本编辑器(括号)将允许我折叠整个部分。虽然这确实让我的生活更轻松,但我想知道这是否会在范围或任何内容方面产生任何复杂性,或者括号是否没有附加到任何标签上,除了允许我的文本编辑器折叠该部分之外,实际上不会产生任何行为。

标签: javascriptadobe-brackets

解决方案


是的,插入花括号可能会导致现有代码出现错误或编译错误,因为花括号定义了词法范围。您最终可能会无意中隐藏在您创建的块之后使用的变量,或者隐藏在该块之前定义的变量。

有在代码中间创建这些词法块的用例,但是,它不仅用于组织目的。为此,如果您要进行组织,最好将您的代码块提取到单独的函数/类/模块/文件/等中。这样做的好处是巨大的。

然而,有趣的是,某些语言+IDE 的支持功能仅适用于您描述的用例。例如,C# 有#region,它分隔了一段可折叠的代码。

另外,我想说大多数 IDE 已经支持开箱即用地折叠/扩展某些代码结构(如函数/方法体),因此您可能会免费获得这种行为,您可以稍微重构一下代码。


推荐阅读