基本上,Nginx所採用的是一種相似BSD的C代碼風格,很規範、也很清晰。建議咱們的Nginx模塊開發也採用Nginx的編碼風格。函數
除宏定義外,字母均爲小寫,單詞間用下劃線(_)間隔。編碼
代碼方式是K&R的對齊方式,須要注意如下幾點:spa
(1)用空格而不是tab對齊,空格數目爲4個 ;orm
if (ngx_process == NGX_PROCESS_SINGLE) {開發
ngx_single_process_cycle(cycle);it
} else {io
ngx_master_process_cycle(cycle);ast
}變量
(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++) {
..............
}
C風格的註釋,如: /* comment */
在文件開頭,簽名空一行,後面空兩行,如
/* * Copyright (C) Igor Sysoev */