回答
与Oracles Java编码约定相反,C++没有“The”命名约定。
如果您正在为某公司开发项目,则应遵循其命名约定。如果没有形成文件的约定 - 环顾代码库并尝试跟踪群体,一致性是关键。
如果你是自己开始的事情,许多人发现google's c++ coding conventions是一个好的开始。
嗯,我不知道任何* C++开发人员认为Google的惯例是很好的一般准则。他们对Google很好,但他们必须在不能普遍适用的限制条件下工作。 – 2013-05-07 23:47:45
我写到这是一个好的开始,而不是圣杯。有什么好的惯例可以适用?随意链接到其他指南。 – Zelix 2013-05-07 23:56:23
恰恰是这个观点:我和其他许多人认为它不是一个好的开始。它包含了很多不好的,不适用的和误导性的建议。 – 2013-05-07 23:57:16
有没有这样的事情作为一个全球性的命名约定。当你知道什么命名约定时,你可以在其中查找答案。
如果您尝试遵守特定的命名约定,请将其命名。正如其他答案所解释的那样,关于命名约定没有全局的“C++规则”。
如果您使用的是匈牙利符号,我相信该惯例的确将前缀'I'作为'IName'的前缀。
注意:尽管在C++中没有“接口”,但您可以使用纯虚方法定义类并且不使用成员变量。
- 1. Java接口,抽象类和枚举命名约定
- 2. zf2类的命名约定
- 3. 命名约定非虚拟和抽象方法
- 4. C#类命名约定
- 5. 命名的PHP 5.3接口/抽象类(使用命名空间)
- 6. 命名约定
- 7. 命名约定
- 8. java中对象的命名约定
- 9. 替换API /类的命名约定
- 10. objC中的类别命名约定
- 11. 过滤器类的命名约定?
- 12. 部分类文件的命名约定
- 13. DTO的枚举类型命名约定
- 14. TSQL命名约定〜这个命名约定叫什么名字?
- 15. 实体框架类命名约定v老学校数据库命名约定
- 16. 抽象类和匿名类
- 17. 抽象类和匿名类
- 18. Protobuf命名约定
- 19. c#命名约定
- 20. BEM:命名约定
- 21. 表命名约定?
- 22. ç命名约定
- 23. DAO命名约定
- 24. mysql命名约定
- 25. MySQL命名约定
- 26. .NET命名约定
- 27. Linq2sql命名约定
- 28. xmlns命名约定
- 29. FFMPEG命名约定
- 30. PHP命名约定?
这听起来有点让我迷惑。抽象和界面是什么意思?在C++中,如果一个类至少有一个纯虚函数,则它是抽象的。一个接口类通常是这样 - 通常但不一定是抽象类,主要用于隐藏派生类中的实现细节并在公共接口上使用。 – jmihalicza 2013-05-07 23:11:34
'I'前缀是Microsoft主义(用于COM和.NET),而不是C++命名约定本身。 – dan04 2013-05-07 23:13:18
在java和c#中,如果类是抽象的或者它是一个接口,你可以直接看到。我已经看过几次我的前缀,所以我改编了它。我只想向其他开发人员说明这个类是抽象的还是和接口相关的。我可能也使用抽象类的I前缀。 – 2013-05-07 23:15:52