【问题标题】:Whats the reasoning behind the different brace forms? [closed]不同支撑形式背后的原因是什么? [关闭]
【发布时间】:2008-10-30 06:47:35
【问题描述】:

我正在阅读Zend Framework coding standards,他们在其中声明类定义后的大括号应该在下一行,即“一个真正的大括号形式”。

class MyClass
{
    function....
}

我通常将大括号放在同一行:

class OtherClass {
    function ...
}

将大括号放在下一行的原因是什么?还是使用任何其他样式?

【问题讨论】:

    标签: php coding-style


    【解决方案1】:

    将大括号单独放在线上有助于在视觉上将内部与外部分开。这样可以更轻松地快速扫描源代码并将块与周围环境区分开来。

    另外,使大括号处于相同的缩进级别使眼睛更容易找到匹配项。

    【讨论】:

      【解决方案2】:

      个人喜好确实是唯一真正的“原因”。

      【讨论】:

      • 我认为不仅仅是“个人偏好”。程序员作为人类,受到认知限制,当我们的大脑需要从“图像”中提取信息(例如,分块)时,某些格式(无论是哪种格式)对我们的大脑更有用。
      • 此外,我想知道为什么我们通常讨论代码中的格式差异,而不是其他标准文本语言,如 XML。我不记得见过以 K&R 样式格式化的 XML(原始问题中的第二个)。
      • 我发现在大多数情况下,单独的行更容易遵循,但在一种情况下,UIView 块,更容易阅读 K & R。这是一个能够跟随屏幕上的行的问题我的眼睛,与使用一种风格而不是另一种风格的个人愿望无关。
      • 另外,感谢您提供有关如何称呼它的提示:D
      【解决方案3】:

      我发现您提到的第一种样式有助于在视觉上将类名与其成员定义偏移。这有助于我在扫描代码时更轻松地找到类声明的顶部。

      【讨论】:

        【解决方案4】:

        经常被引用的原因是:

        • 更容易匹配左大括号和右大括号(对于第一个示例)
        • 不要浪费另一行(这样您就可以在屏幕上显示更多行代码 - 第二个示例)

        正如其他人所说:如果您使用 3rd 方代码,请遵循其约定。如果您编写自己的代码,请使用您认为更好的样式。

        【讨论】:

          【解决方案5】:

          我认为个人或团队项目的编码风格和命名约定主要是个人喜好问题(尽管团队采用单一的编码风格和命名约定是明智的)。

          就我个人而言,我喜欢遵循Allman Style 约定,因为它可以让我快速了解我的代码和缩进结构。当然,这会在代码中增加一些额外的行数,但我认为这与优势无关。

          关于这个问题的好资源是以下维基百科文章:

          Indent Style

          Programming Style

          Naming Conventions

          【讨论】:

            【解决方案6】:

            用户偏好。这真的没什么区别。我用PHP开发的时候,用的是第二种,现在用C#,我用的是第一种。

            【讨论】:

              【解决方案7】:

              关于这个高度主观的话题已经有好几个话题了……

              有些人对此充满热情,我个人选择了对齐大括号的“可读”选项(我不为我的代码在屏幕上使用的空间付费......所以我对紧凑性不感兴趣)但是当我使用另一种风格为项目做出贡献,我只使用我的贡献周围的风格。
              标签大小、硬与软等相同。

              【讨论】:

                【解决方案8】:

                真正的原因是在整个代码库中具有统一外观的代码。两种风格都有其优点,哪种风格“更好”取决于个人喜好以及语言和项目中“传统”使用的风格。

                如果规定了一种牙套样式,请使用该样式,否则使用您到达之前使用的样式。如果您要开始一个新项目,请使用所选语言中通常使用的语言。

                制表符与空格也是如此。

                【讨论】:

                  【解决方案9】:

                  您使用哪种大括号样式是否重要?不。在同一个项目或源文件上工作的每个人都使用相同的大括号样式是否重要?不;这不仅无关紧要,而且如果大括号样式因一个编码器而异,即使在同一个文件中也是有用的。

                  “为什么这段代码会这样做?”

                  “我不知道。这是凯文的笔迹。我们去问问他吧。”

                  【讨论】:

                    猜你喜欢
                    • 2023-03-06
                    • 2010-11-03
                    • 2011-06-20
                    • 1970-01-01
                    • 2018-11-03
                    • 1970-01-01
                    • 1970-01-01
                    • 2018-08-31
                    • 2020-01-26
                    相关资源
                    最近更新 更多