c块总是把{直接放在^后面,而不在新行上,这有什么原因吗?

c块总是把{直接放在^后面,而不在新行上,这有什么原因吗?,c,coding-style,objective-c-blocks,C,Coding Style,Objective C Blocks,我的编码风格是总是在新行上放一个大括号: int aBoringCFunction() { ... 苹果过去一直遵循这种风格,但后来改为将{与函数放在同一行。当使用块时,苹果代码总是将{直接放在^之后: dispatch_async(dispatch_get_main_queue(), ^{ ... 是否有任何原因说明在块中使用“我的样式”会有问题?例如: dispatch_async(dispatch_get_main_queue(), ^ {

我的编码风格是总是在新行上放一个大括号:

int aBoringCFunction()
{
    ...
苹果过去一直遵循这种风格,但后来改为将
{
与函数放在同一行。当使用块时,苹果代码总是将
{
直接放在
^
之后:

dispatch_async(dispatch_get_main_queue(), ^{
                   ...
是否有任何原因说明在块中使用“我的样式”会有问题?例如:

dispatch_async(dispatch_get_main_queue(), ^
{
    ...
我更喜欢我的风格,但是如果它导致了积木的问题,那么我将不得不重新考虑它

澄清
这个问题是关于的。这不是关于大括号的一般问题。问题是块扩展是否对代码样式有任何影响。

我认为块示例模仿了苹果的标准,仅此而已。你可以将大括号放在任何你喜欢的地方。建议考虑一下切换,因为在线示例可能会遵循苹果。这两种风格都是完全正确的;这是风格和偏好的问题。唯一的问题是,你可能需要遵守苹果的惯例,这取决于你的代码是为谁编写的。因此,在你的作品被接受之前,你可能不得不回去稍微修改一下格式

c编译器不在乎你把大括号放在哪里。它的风格我个人讨厌,但真正重要的是你编写代码的编码标准。如果它只是为了个人使用,做任何能让代码更可读的事情。

传统上程序员都会尽量少用几行,因为你只能使用大括号在正在使用的终端上,每次EE24。将{放在自己的线路上只会浪费屏幕空间


如今,对于大型高分辨率显示器,我认为这不是一个问题,我和你一样,将支架放在自己的线路上以保持整洁。

不同的人有非常不同的编码品味。一般来说,大型项目都有编码风格的指导方针。例如,KDE和你一样喜欢它:{在下一行。它们也喜欢if语句中的空格:

如果(该变量>42)

就我个人而言,我不认为有必要这样做。我曾经有一个同事,他喜欢在每个功能之后有5个空白行。对他来说,视觉上的分离很重要。然而,对我来说,我喜欢一次在屏幕上看到尽可能多的内容

没有错,只有空白

我最喜欢的提交日志是在我们商定了一个共同的风格(现在已经持续了10年)之后,我为一个项目编写的:

2002-04-20 00:07哈达克 *一切: 白色空间,哦,美丽的白色空间。 我们的计划有多棒? 代码很好。 我们很容易就功能达成一致。 到底是什么困扰着我们? 一些我们看不见的东西。 代码之间的某些东西。 我们向你的辉煌致敬, 因为你无处不在, 在一切之间。 你真是一无所有。
这是人们争论最多的与风格相关的事情之一,同时也是最不重要的事情之一

将大括号放在同一行上是“K&R”样式,这种样式从一开始就在C中使用。将大括号放在单独的行上可能是当今最常见的样式

但没有证据表明这两种风格中的一种在清晰度上优于另一种。如果有人就一种风格而不是另一种风格进行争论,那么就要求对这一问题进行科学研究。我还没有看到这样的情况


唯一重要的是,代码样式在整个程序中是一致的。如果在团队中作为程序员工作,整个团队应该使用相同的样式。

这不是C,而是Objective-C。完全不同的语言。@Tomalak Geret'kal:不,块是C语言的扩展。Objective-C是一个严格的超集对于C,任何对C的添加,例如块,也适用于Objective-C。Grand Central Dispatch是一个C库,而不是Objective-C库。请注意,我的问题是关于C块及其与大括号的关系。这不是关于大括号的一般问题!@BenedictCohen:不,是“块”在C语言中,是一组用大括号括起来的代码。常见的例子包括
if
while
语句后面的块。@Johannes Schaub:问题与C语言的块扩展有关。是的,问题中有一个Objective-C示例,但整个问题与块扩展有关。Objective-C样本被删除了,因为它让不熟悉这个问题所涉及的技术的人感到困惑。基比茨:甚至在“K&R”中我想这是因为在K和R时代,函数参数声明位于右括号和左括号之间,所以这样看起来更整洁。 2002-04-20 00:07 hardaker * everything: White space, oh glorious white space. How great our though? The code is fine. We agree on functionality easily. What really troubles us? Something we can't see. Something between the code. We bow down to your magnificence, For you are everywhere, Between everything. Pretty nothingness you are.