代码风格
XWOS的的代码风格
Categories:
少于1分钟
C语言
1.头文件
1.1. #define
防护符
所有头文件都应该用
#define
防护符来防止重复导入。防护符的格式是:_<路径>_<文件名>_h_
。
为了保证符号的唯一性,防护符的名称应该基于该文件在项目目录中的完整文件路径。
例如, xwos
项目中的文件 xwos/mp/thd.h
应该有如下防护:
#ifndef __xwos_mp_thd_h__
#define __xwos_mp_thd_h__
...
#endif /* xwos/mp/thd.h */
1.2. 作用域
C语言没有 namespace
,为了达到同样的效果,C语言中符号命名采用 前缀_
的方式。 前缀
就是 namespace
。
1.3. 命名约定
1.3.1. 通用命名规则
总述
函数命名,变量命名,文件命名要有描述性,少用缩写。 别心疼空间,让代码易于新读者理解更重要。 不要用只有项目开发者能理解的缩写,也不要通过砍掉几个字母来缩写单词。
int price_count_reader; // 无缩写
int num_errors; // "num" 是一个常见的写法
int num_dns_connections; // 人人都知道 "DNS" 是什么
int n; // 毫无意义
int nerr; // 含糊不清的缩写
int n_comp_conns; // 含糊不清的缩写
int wgc_connections; // 只有贵团队知道是什么意思
int pc_reader; // "pc" 有太多可能的解释,除非在特定的上下文环境下没有歧义可使用
int cstmr_id; // 删减了若干字母
注意, 一些特定的广为人知的缩写是允许的, 例如用 i
表示迭代变量。
1.3.2. 文件命名
文件名要全部小写, 可以包含下划线 _
。可接受的文件命名示例:
my_useful_module.c
my_useful_module_test.c
C文件要以 .c
结尾,头文件以 .h
结尾。
不要使用已经存在于 /usr/include
下的文件名。
通常应尽量让文件名更加明确。 xwlog.h
就比 log.h
要好。
内联函数定义必须放在 .h
文件中. 如果内联函数比较短,就直接将实现也放在 .h
中。
C++语言
TODO
Makefile
TODO
Shell
TODO
EmacsLisp
TODO
Rust语言
TODO
Lua语言
TODO