2

我的编码风格是始终将左大括号放在新行上:

int aBoringCFunction()
{
    ...

苹果过去一直沿用这种风格,但后来改为与{功能在同一行。当使用块时,Apple 代码总是{^:

dispatch_async(dispatch_get_main_queue(), ^{
                   ...

是否有任何理由将我的样式与块一起使用会出现问题?例如:

dispatch_async(dispatch_get_main_queue(), ^
{
    ...

我更喜欢我的风格,但如果它导致块问题,那么我将不得不重新考虑它。

澄清

这个问题是关于C 语言的 Blocks 扩展。这不是关于牙套的一般问题。问题是 Blocks 扩展是否对代码风格有任何影响。

4

6 回答 6

2

两种风格都完全正确;这是风格和偏好的问题。唯一会出现问题的方法是,您可能需要遵守 Apple 的约定,具体取决于您的代码的用途。因此,在您的工作被接受之前,您可能必须返回并稍微更改格式。

于 2011-01-26T15:59:35.467 回答
1

我认为块样本正在模仿苹果的标准,仅此而已。您可以将牙套放在您喜欢的任何地方。建议考虑转换,因为在线样品可能会跟随 Apple。而且效果很好。

于 2011-01-26T15:58:42.200 回答
1

这是人们争论最多的与风格相关的事情之一,同时也是最不重要的事情。

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

但是没有证据表明这两种风格中的一种比另一种更好。如果有人争论一种风格而不是另一种风格,那就要求对此事进行科学研究。我还没有看到这样的。

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

于 2011-01-26T16:09:22.977 回答
0

c 编译器不在乎你把大括号放在哪里。它的风格我个人讨厌K&R风格,但真正重要的是你编写代码的编码标准。如果它只是供个人使用,请尽一切可能使代码对您更具可读性。

于 2011-01-26T16:00:52.180 回答
0

传统上,程序员试图使用尽可能少的行,因为在正在使用的终端上一次只能看到 24 行。将 { 放在自己的行上只会浪费屏幕空间。

现在有了大型高分辨率显示器,我认为这不是一个问题,我和你一样,为了整洁,把牙套放在自己的线上。

于 2011-01-26T16:00:57.570 回答
0

不同的人有非常不同的编码品味。通常,较大的项目带有编码风格指南。例如,KDE 和你一样喜欢它:{ 在下一行。他们还喜欢 if 语句中的空格:

如果 ( this_var > 42 )

我个人认为没有必要。我曾经有一位同事喜欢在每个函数之后有 5 个空白行。对他来说,视觉上的分离很重要。然而,对我来说,我喜欢尽可能多地同时出现在屏幕上。

没有错。只有空白。

在我们就共同的风格达成一致后(现在已经持续了 10 年),我为一个项目写的最喜欢的提交日志:

2002-04-20 00:07 哈达克

   * 一切:

   白色空间,哦,光荣的白色空间。
   我们有多棒?
   代码很好。
   我们很容易就功能达成一致。
   真正困扰我们的是什么?
   我们看不到的东西。
   代码之间的东西。
   我们向你的壮丽鞠躬,
   因为你无处不在,
   万物之间。
   你真是虚无。
于 2011-01-26T16:03:48.850 回答