当前位置: 博客首页 >> PHP >> 阅读正文

PHP编码规范文档

作者: _Approaching 分类: PHP 发布于: 2012-03-16 23:10 浏览:5,011 没有评论


大半天时间整理的PHP编码规范…

一、命名规范: 1. 常量的命名 1) 字母,全部大写,使用“_ ” 分隔单词。 如:DEFINE(“PHP_DEMO_PRINT”,”hEllo world”); 2. 变量的命名 1) 使用驼峰结构命名,即以小写字母开头,从第二个单词开始,每个单词的第一个字母大写。 如:$getElement=”myodbc”; 2) 全局变量以“g_ ”开头,非全局变量不要以“ g_ ”开头 如:$g_i; 3) 所有的“临时”变量使用完毕后必须unset 4) 不允许出现字母完全相同,仅大小写不同的命名。 5) 不允许在命名的结尾使用下划线。 6) 不要出现单字母的变量,如i,j,k(只有在控制循环数时且循环代码条数在 3 条以内,才可以考虑使用) 7) 变量名中不能出现数字。 8) 变量名最好能表示出是数值型还是字符串型变量。 如:$myCount_i表示数值型变量, $myString_s 表示字符串。 9) 如果有计算限定符,把限定词加到名字的最后。 如:$calTimeStart 、  $calTimeEnd.   3. 函数的命名 1) 函数名全部小写,单词之间可以使用下划线。 2) 存取对象的函数名使用 set_xxx() 和get_xxx() 形式。 3) 布尔类型的函数名可以使用 isxxx() 形式。 4) 函数名中不能出现数字。   4. 类命名 1) 类名用第一个字母大写的英文正常语序准确描述类的含义。如:Employee。 2) 类的方法命名规则与函数的命名规则一致。 3) 类的属性名采用全字母小写。   5. 文件的命名 1) 文件名字符全部采用小写 2) 文件名称要能反映出其内容及功能。 如:储存有类的文件,name.class.php;存有函数的文件可采用name.func.php或name.inc.php来命名;配置文件,name.cfg.php或者config.inc.php 。   二、注释规范: 1. 变量的注释 1) 变量的同行后空一格使用双斜线注释。 如:$myDemo = ‘a demo’; //这是行内注释   2. 函数与函数体的注释 /* @作者: xxxx bbb */ //描述函数的功能和返回值和引用方法 function  ff(aaa, bbb)  { …… // 普通夹杂在代码里的单行注释 …… return false; }   3. 文件的注释 1) 文件功能、创建人信息、时间。 2) 已知的Bug。当然最好是修正所有错误,但可能暂时还没有办法修正错误,或暂时没有精力去修改 3) 开发和维护文件的历史列表。记录每一次修改的作者、日期、修改的内容 4) 对主要的算法必须加以解释说明,主要的流程必须给出引导性的说明 5) 标准格式
/** * @description 描述类的功能、用途、现存BUG,设计方法。 * @author 作者姓名 * @version 最后修改日期(日期格式建议采用:年 日格式,例如: 2008-04-05 */ 如果对已经版本化的类进行了修改,需要按照如下格式为每一次修改附加修改历史记录: * @modify * 修改人 + 修改日期(日期格式建议采用:年 日格式,例如: 2008-04-05 修改说明  
  三、代码书写风格 1. 总原则 1) 一行代码尽量简短,并且保证一行代码只做一件事。 2) 使用圆括号来界定操作的顺序。不要让别人判断复杂的操作优先级。 3) 合理使用空行,划分逻辑处理。 4) 代码缩进使用TAB (设定四个空格)。 5) 建议遵循三十秒原则。如果另一个程序员无法在三十秒之内了解你的函数做了什么,如何做以及为什么要这样做,那就说明你的代码是难于维护的,必须得到提高。   2. 控制结构   1) If 规范 1. else 后面的 if ,另起一行  2. 把对比常量,放在等式左边  3. 分支要加上注释,注释前面加一个(TAB) 缩进   if (6 == $errorNum)  { //注释 1 .. }  else  { if (5 == $num)  { //注释 2 … }  else  { … } }   2) Switch规范 switch (…) { case 1: //分支 1 注释 …    // 这里没有 break ,直接转到下个 case ,须要加注释    case 2:  {  //分支 2 注释   $v = get_week_number(); // 创立变量,在 {} 之中    …      break;     default:   }   3) For规范 For($i=1;$i<=3;$i++)  { …… } 4) While 规范 While ($i<=5) { …. }   5) Foreach  规范   Foreach ($arr  as  $v => $k)  { …. }   四、代码书写风格 1. 使用$row[ id ] 方式取数据,不要使用 $row[id] 方式。 2. 纯字符串使用单引号包含。 3. 删除未使用的变量 4. 执行for 循环之前确定最大循环数,不要每循环一次都计算最大值。 5. 循环内部不要声明变量,尤其是大变量:对象(语言通用) 6. 执行字符串替换前用strpos() 函数判断是否存在后再执行替换函数。 7. 用foreach 代替 while 遍历数组。遍历数组时 foreach 的效率明显高于 while 循环 8. str_replace函数比 preg_replace 函数快,但 strtr 函数的效率是 str_replace 函数的四倍 9. 当执行变量$i 的递增或递减时, $i++ 会比 ++$i 慢一些。这种差异是 PHP 特有的 10. 用@ 屏蔽错误消息的做法非常低效。
       

本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/php-coding-standards-document.html

发表评论

change vcode