php新手进阶高手不可或缺的规范介绍(3)

5.4. 常量加注释
对于所有有物理含义的变量、常量,如果其命名不是充分自注释的,在声明时都必须加以注释,说明其物理含义。变量、常量、宏的注释应放在其上方相邻位置或右方。

示例:

复制代码 代码如下:


// active statistic task number
Define(‘MAX_ACT_TASK_NUMBER',1000)

Define(‘MAX_ACT_TASK_NUMBER',1000);  // active statistic task number


5.5. 注释位置
注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置,不可放在下面,如放于上方则需与其上面的代码用空行隔开。

示例:如下例子不符合规范

例1:

复制代码 代码如下:


// get replicate sub system index and net indicator
$repssn_ind = $ssn_data[$index]->repssn_index;
$repssn_ni = $ssn_data[$index]->ni;
例2:$repssn_ind = $ssn_data[$index]->repssn_index;
$repssn_ni = $ssn_data[$index]->ni;
// get replicate sub system index and net indicator
应如下书写
// get replicate sub system index and net indicator
$repssn_ind = $ssn_data[$index]->repssn_index;
$repssn_ni = $ssn_data[$index]->ni;


5.6. 数据结构声明加注释
数据结构声明(数组),必须加以注释。对数据结构的注释应放在其上方相邻位置,不可放在下面;对结构中的每个域的注释放在此域的右方。

示例:按如下形式说明

复制代码 代码如下:


// sccp interface with sccp user primitive message name
$sccp_user_primitive = array(
    ‘N_UNITDATA_IND' => 1,  // sccp notify sccp user unit data come
    ‘N_NOTICE_IND => 2,   // sccp notify user the No.7 network can not transmission this message
    N_UNITDATA_REQ  => 3 // sccp user's unit data transmission request
       )


5.7. 全局变量注释
全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。

5.8. 注释缩排
注释与所描述内容进行同样的缩排, 可使程序排版整齐,并方便注释的阅读与理解。

示例:如下例子不符合规范

复制代码 代码如下:


function example_fun(){
    // code one comments
    CodeBlock One

// code two comments
    CodeBlock Two
}


应改为如下布局:

复制代码 代码如下:


function example_fun(){
    //fdgfd
    CodeBlock One

// code two comments
    CodeBlock Two
}


5.9. 将注释与其上面的代码用空行隔开
示例:如下例子,显得代码过于紧凑。

复制代码 代码如下:


// code one comments
program code one
// code two comments
program code two
应如下书写// code one comments
program code one

// code two comments
program code two


5.10. 连续case注释
对于switch语句下的case语句,如果因为特殊情况需要处理完一个case后进入下一个case处理,必须在该case语句处理完、下一个case语句前加上明确的注释。这样比较清楚程序编写者的意图,有效防止无故遗漏break语句。

示例:

复制代码 代码如下:


switch ($i){
    case ‘CMD_INIT':
        echo "i equals 0";
    break;
    case ‘CMD_START:
        echo "i equals 1";// now jump into case CMD_A
    case ‘CMB_A':
        echo "i equals 2";
    break;
}


5.11. 结构体声明
代码中代表结构体的数组变量,要提前声明。

示例:

复制代码 代码如下:


function example_fun(){
    $student = array(
        'name' => '小明', //名称
        'addr' => '详细地址', //地址
        'sex' => '男', //性别
        'city' => '上海' //城市
    )
}


5.12. 注释格式
注释格式统一,单行注释必须使用“// …… ”,多行使用一对/*…*/

示例:如下例子不符合规范。

复制代码 代码如下:


/* if receive_flag is TRUE */
/* if receive_flag is FALSE */
if ($receive_flag)


应如下书写:

复制代码 代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/0f63bd2124174e6154a0f7d666ded007.html