strchr函数用法_c++ strchr函数_strchr函数原型(19)

电脑杂谈  发布时间:2017-02-28 18:06:59  来源:网络整理

名字空间命名:名字空间用小写字母命名,并基于项目名称和目录结构:google_awesome_project.

关于名字空间的讨论和如何命名,参考名字空间一节.

枚举命名:枚举的命名应当和常量或宏一致:kEnumName或是ENUM_NAME.

单独的枚举值应该优先采用常量的命名方式.但宏方式的命名也可以接受.枚举名UrlTableErrors(以及AlternateUrlTableErrors)是类型,所以要用大小写混合的方式.

enum UrlTableErrors {
    kOK = 0,
    kErrorOutOfMemory,
    kErrorMalformedInput,
};
enum AlternateUrlTableErrors {
    OK = 0,
    OUT_OF_MEMORY = 1,
    MALFORMED_INPUT = 2,
};
2009年1月之前,我们一直建议采用宏的方式命名枚举值.由于枚举值和宏之间的命名冲突,直接导致了很多问题.由此,这里改为优先选择常量风格的命名方式.新代码应该尽可能优先使用常量风格.但是老代码没必要切换到常量风格,除非宏风格确实会产生编译期问题.

宏命名:你并不打算使用宏,对吧?如果你一定要用,像这样命名:MY_MACRO_THAT_SCARES_SMALL_CHILDREN.

参考预处理宏<preprocessor-macros>;通常不应该使用宏.如果不得不用,其命名像枚举命名一样全部大写,使用下划线:

#define ROUND(x) ...
#define PI_ROUNDED 3.0
命名规则的特例:如果你命名的实体与已有C/C++实体相似,可参考现有命名策略.

bigopen():函数名,参照open()的形式

uint:typedef

bigpos:struct或class,参照pos的形式

sparse_hash_map:STL相似实体;参照STL命名约定

LONGLONG_MAX:常量,如同INT_MAX

7.注释:

注释虽然写起来很痛苦,但对保证代码可读性至关重要.下面的规则描述了如何注释以及在哪儿注释.当然也要记住:注释固然很重要,但最好的代码本身应该是自文档化.有意义的类型名和变量名,要远胜过要用注释解释的含糊不清的名字.

你写的注释是给代码读者看的:下一个需要理解你的代码的人.慷慨些吧,下一个人可能就是你!

注释风格:使用//或/* */,统一就好.

//或/**/都可以;但//更常用.要在如何注释及注释风格上确保统一.

法律公告和作者信息:每个文件都应该包含以下项,依次是:

(2)、许可证.为项目选择合适的许可证版本(比如,Apache2.0,BSD,LGPL,GPL)

(3)、作者:标识文件的原始作者.

strchr函数原型_strchr函数用法_c++ strchr函数

如果你对原始作者的文件做了重大修改,将你的信息添加到作者信息里.这样当其他人对该文件有疑问时可以知道该联系谁.

通常,.h文件要对所声明的类的功能和用法作简单说明..cc文件通常包含了更多的实现细节或算法技巧讨论,如果你感觉这些实现细节或算法技巧讨论对于理解.h文件有帮助,可以该注释挪到.h,并在.cc中指出文档在.h.

不要简单的在.h和.cc间复制注释.这种偏离了注释的实际意义.

类注释:每个类的定义都要附带一份注释,描述类的功能和用法.

// Iterates over the contents of a GargantuanTable.  Sample usage:
//    GargantuanTable_Iterator* iter = table->NewIterator();
//    for (iter->Seek("foo"); !iter->done(); iter->Next()) {
//      process(iter->key(), iter->value());
//    }
//    delete iter;
class GargantuanTable_Iterator {
    ...
};
如果你觉得已经在文件顶部详细描述了该类,想直接简单的来上一句“完整描述见文件顶部”也不打紧,但务必确保有这类注释.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-35033-19.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...