3

查看 boost 库和 stl,然后查看人们的示例,我感到很困惑。似乎大写的类型名称都穿插着所有小写字母,并用下划线分隔。

这些天应该怎么做?我知道 .NET 世界有自己的一套约定,但它似乎与 C++ 领域完全不同。

4

4 回答 4

9

你打开了多少蠕虫罐头。

C++ 标准库对所有内容都使用underscore_notation,因为这是 C 标准库使用的。

因此,如果您希望您的代码在整体上看起来一致(并且实际上不使用外部库),那是唯一的方法。

你会看到 boost 使用相同的符号,因为他们的库经常被考虑用于未来的标准。

除此之外,还有许多约定,通常使用不同的符号来指定不同类型的符号。通常将CamelCase用于自定义类型,例如类和 typedef,而使用 mixCase用于变量,专门用于区分这两者,但这当然不是通用标准。

还有Hungarian Notation,它进一步区分了特定的变量类型,尽管只是提到这个短语可能会激起一些编码人员的敌意。

作为一名优秀的 C++ 程序员,最好的答案是采用您所沉浸的代码中使用的任何约定。

于 2008-12-11T22:36:12.070 回答
2

没有好的答案。如果您正在与现有代码库集成,那么匹配他们的风格是有意义的。如果你正在创建一个新的代码库,你可能想要建立简单的指导方针。

谷歌有一些.

于 2008-12-11T22:40:53.077 回答
0

根据图书馆和组织的不同,情况会有所不同。

例如,对于我正在构建的开发人员实用程序库,我正在为各种约定风格的约定包含友好的包装器模块。因此,例如,MFC 包装器模块对成员使用“m_typeMemberVariable”表示法,而 STL 包装器模块使用“member_variable”。我正在尝试构建它,以便使用的任何前端都将具有该类型前端的典型样式。

具有通用风格的问题是每个人都必须同意,并且(例如)对于每个讨厌匈牙利符号的人,还有其他人认为不使用匈牙利符号会损害代码可理解性的基本价值。因此,短期内不太可能有 C++ 的通用标准。

于 2008-12-11T23:03:08.990 回答
0

找到你觉得舒服的东西并坚持下去。某种形式的风格总比没有风格好,不要太拘泥于其他图书馆是如何做到的。

FWIW 我使用 Google C++ 风格指南(有一些调整)。

http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml

于 2008-12-12T09:11:39.497 回答