首页 > 代码库 > Nginx模块开发—Nginx代码规范

Nginx模块开发—Nginx代码规范

1、简介

基本上,Nginx所采用的是一种类似BSDC代码风格,很规范、也很清晰。建议我们的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)

 

7for循环的格式:变量和分号之间要有空格,其次大括号要和for在一行。if的格式和for类似。 所有的if都必须有括号,不能省略大括号。

   for (i = 0; i < ds->count; i++) {

   ..............

   }

4、注释方式

C风格的注释,如: /* comment */

5、版权信息

在文件开头,签名空一行,后面空两行,如

 /*
 * Copyright (C) Igor Sysoev
 */


Nginx模块开发—Nginx代码规范