【发布时间】:2021-05-04 09:57:37
【问题描述】:
我正在为基于 arduino 的板开发代码,并且我正在使用 VSCode,因为我发现它比 Arduino IDE 更好。
现在,在代码的某些部分,我喜欢将某些语句组合在一起,以便更好地组织代码。在 C#(使用 Visual Studio)中,我会使用 #region NAME 来执行此操作。它的 C 变体是 #pragma region,但是,我发现这会使代码变得混乱,并且不像我想要的那样干净。
相反,我想使用花括号{} 来实现类似的效果,但据我了解,编译器使用它们来声明范围对吗?所以会像这样使用它们:
char *data;
{
free(data);
}
产生任何奇怪的行为?从我尝试过的情况来看,编译器似乎并不介意,但也许我只是没有尝试足够的案例。
所以,我想我想知道的是:以这种方式使用花括号会对 C 中的一般编码有害吗?
【问题讨论】:
-
“我喜欢将某些语句组合在一起” - 为什么我们对行编辑器的死亡以及对空格、缩进等的拥抱感到高兴。没有理由使用大括号;将它们用于它们的目的:范围。
-
当您打开一个作用域时,所有作用域变量将仅在作用域内被识别
-
从技术上讲,您将编写的内容按预期工作。但是,在代码审查中,我会拒绝该代码。
-
只需使用空格和 cmets。如果您希望编译器支持仅影响阅读理解的内容,那么您将大大过度复杂化。