首页 > 代码库 > Nginx模块开发—Nginx代码规范
Nginx模块开发—Nginx代码规范
1、简介
基本上,Nginx所采用的是一种类似BSD的C代码风格,很规范、也很清晰。建议我们的Nginx模块开发也采用Nginx的编码风格。
2、命名方式
除宏定义外,字母均为小写,单词间用下划线(_)间隔。
3、对齐方式
代码方式是K&R的对齐方式,需要注意以下几点:
(1)用空格而不是tab对齐,空格数目为4个 ;
if (ngx_process == NGX_PROCESS_SINGLE) {
ngx_single_process_cycle(cycle);
} else {
ngx_master_process_cycle(cycle);
}
(2)在块和函数之间空两行;
(3)变量声明时上下对齐 ;
(4)函数声明全部写在一行;
static ngx_int_t ngx_http_tfs_status_message(ngx_buf_t *b, ngx_str_t *action, ngx_log_t *log);
(5)函数定义采用以下方式,即将返回值和函数名分为2行来写;
static ngx_chain_t *
ngx_tfs_message_ds_create_write_packet(ngx_http_tfs_t *t)
也就是将返回值和函数名分为两行来写。
(6)函数和函数之间必须两个换行隔开。
static ngx_chain_t * ngx_tfs_ms_create_read_packet(ngx_http_tfs_t *t) { }
static ngx_chain_t * ngx_tfs_ms_create_write_packet(ngx_http_tfs_t *t)
(7)for循环的格式:变量和分号之间要有空格,其次大括号要和for在一行。if的格式和for类似。 所有的if都必须有括号,不能省略大括号。
for (i = 0; i < ds->count; i++) {
..............
}
4、注释方式
C风格的注释,如: /* comment */
5、版权信息
在文件开头,签名空一行,后面空两行,如
/*
* Copyright (C) Igor Sysoev
*/
Nginx模块开发—Nginx代码规范