【问题标题】:Links to official style guides [closed]官方风格指南的链接[关闭]
【发布时间】:2010-03-12 16:39:36
【问题描述】:

C++ 有几种风格:MFC、Boost、Google 等。我想检查这些风格并确定哪一种最适合我的项目,但我想阅读官方风格指南。有没有人有他们通常使用的官方指南?

这是我找到的两个。我敢打赌还有更多:

注意:这不是关于哪种风格最好的讨论......只是呼吁人们目前使用的官方风格指南。请不要抨击您不喜欢的其他风格指南。

附带问题:是否有一个很好的工具可以检查源代码并判断它是否符合给定的样式指南?

【问题讨论】:

标签: c++ coding-style


【解决方案1】:

本身不是编码指南,但我觉得这很有用:Bjarne Stroustrup's C++ Style and Technique FAQ

【讨论】:

    【解决方案2】:

    没有“官方”风格指南之类的东西——C++ 标准对风格完全保持沉默。两位知识渊博的 C++ 人员撰写的一本关于该主题的书是 Sutter 和 Alexandrescu 的 C++ Coding Standards

    【讨论】:

      【解决方案3】:

      其他答案表明没有官方风格指南,当时确实如此。

      但在 2015 年,Bjarne Stroustrup announced the C++ Core Guidelines,一个为现代 C++ 代码构建权威指南的开源项目,由 Stroustrup 本人领导并由标准 C++ 基金会发布:

      http://github.com/isocpp/CppCoreGuidelines

      与此问题相关,核心指南也link to other guidelines,添加了 cmets。关于经常推荐的 Google C++ Style Guide,他们说:

      面向 C++03 和(也)旧代码库。 Google 专家现在在这里积极协作,以帮助改进这些指南,并希望将这些努力整合起来,这样它们就可以成为他们也可以推荐的现代通用集。

      【讨论】:

        【解决方案4】:

        我还写了一些使用 C++ 进行良好编码的技巧: http://www.ivanism.com/Articles/CodingStandards.html

        帖子开头:

        编码标准的目标是增加代码的商业价值。最明显(也是最重要)的方法是使代码健壮且缺陷少。同样重要但更微妙的目标包括减少编码器的摩擦和可维护性。因此,标准应该保持最低限度——简单到可以实际遵循,并且重要到要记住。

        在构建新的源文件时应该使用这些标准。当需要更改现有文件时,是使其达到标准的适当时机。但是,仅仅为了使其达到标准而编辑文件绝不是一个好时机。如果它没有损坏,请不要“修复它”并记住始终“保持正常工作”。

        你会注意到我没有触及经典的“宗教”观点:

         tabs vs. spaces
         indentation style
         curly brace style
         etc...
        

        文件内的一致性很重要,可以提高可读性。但允许编码人员表达自己也很重要。因此,如果您编辑一个文件,要么符合该文件的宗教信仰,要么将整个文件转换为新的、一致的格式。如果您转换了整个文件,您实际上就是拥有它的所有权,因此请准备好成为首选人,或者保持原样。

        【讨论】:

          【解决方案5】:

          C++ 没有也不需要官方风格。许多组织将风格指南强加给他们的贡献者,以试图保持某种公司的外观和感觉;其中一些包含很好的建议,但很多只是强迫你添加奇怪的装饰,这对于 1980 年代编写完全不同语言的人来说似乎是个好主意。

          您会在华夫饼中找到的唯一真正有用的建议是:

          • 定义一种一致的方式来区分类型、对象和某些类型的函数(例如访问器和工厂),这样您就可以知道(例如)Thing thing = GetThing(); 而无需查找名称。
          • 请勿使用下划线开头的名称。这在某些情况下是被禁止的,而且完全不这样做比担心什么时候可以做更简单、更易读。
          • 请考虑一下这个可怜的家伙(也许是你),他们必须在几年后阅读和维护代码。
          • 保持简单。
          • 用你的大脑。

          【讨论】:

            【解决方案6】:

            另一个风格指南是The JSF air vehicle C++ coding standards

            【讨论】:

              【解决方案7】:

              我使用自己的风格,I have written up here。无论您是否对它作为一种风格感兴趣,如果您正在查看一般风格,您可能会发现我对它有用的动机的讨论。

              【讨论】:

                【解决方案8】:

                附带的问题:我个人不知道有什么工具可以分析使用中的风格,但是有一些工具可以将源重新格式化为给定的风格指南。我想到的是Artistic Style

                【讨论】:

                  【解决方案9】:

                  至于附带问题,您需要的是一个静态分析工具。一个昂贵而庞大的工具是Klocwork。我已经在几家商店使用过它,它可以设置为针对样式问题发出警告。我不建议单个用户使用它;它更适合企业环境。尽管他们可能已经为个人精简了版本。

                  记得向 Google 索取静态分析工具。

                  【讨论】:

                    猜你喜欢
                    • 2017-11-26
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2019-06-05
                    • 1970-01-01
                    • 2014-02-14
                    相关资源
                    最近更新 更多