C++ 命名约定 [关闭]

Posted

技术标签:

【中文标题】C++ 命名约定 [关闭]【英文标题】:C++ Naming Convention [closed] 【发布时间】:2011-02-03 06:05:37 【问题描述】:

广泛接受的 c++ 命名约定是什么? (函数、类、参数、局部变量、命名空间等)

【问题讨论】:

【参考方案1】:

我认为 C++ 中没有“被广泛接受”的命名约定。 Stroustrup的书籍和论文一般有以下编码风格:

class Shape 
public: // interface to users of Shapes
    virtual void draw() const;
    virtual void rotate(int degrees);
    // ...
protected:  // common data (for implementers of Shapes)
    Point center;
    Color col;
    // ...
;

您可能还想查看流行的风格指南,例如 The Google C++ Style Guide。

【讨论】:

也许我有一个愚蠢的时刻,但我认为没有理由对此投反对票。反对者的解释?如果只是个人对某一种风格的偏好,Stroustrup 的风格并不比其他两个推荐的差。 类名是否应该像java中的第一个字母大写?我见过很多 C++ 类的首字母小写【参考方案2】:

这在一定程度上取决于平台。例如,MFC 应用程序具有某种命名风格(我碰巧遵循),其他应用程序使用不同的风格。

有点像不同的 C++“文化”。

【讨论】:

【参考方案3】:

编码约定由您决定,重要的是一致性。对于我自己的项目,我使用Google's coding style。

远离匈牙利符号。

【讨论】:

除非您的项目包含维护庞大的 C++-as-C 代码库,否则您真的不应该使用这种编码风格。现代 C++ 对此感到畏缩。 @GManNickG - 已经有一段时间了.. 但是您能否添加更多详细信息说明为什么 Google 约定对现代 c++ 不利? @Andrii:其他地方可能有更详细的原因,但本质上归结为使用 C++ 作为 C 类。

以上是关于C++ 命名约定 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

承诺的 JavaScript 命名约定? [关闭]

C# GUI 命名约定的最佳实践? [关闭]

REST API 是不是有任何命名约定准则? [关闭]

单元测试都有哪些流行的命名约定? [关闭]

单元测试都有哪些流行的命名约定? [关闭]

SQL Server 索引命名约定 [关闭]