更新时间:2018年03月16日14时05分 来源:传智播客 浏览次数:
编码规则采用常用规则就可,具体说哪一个好,哪一个不好也是不科学的,每种风格都有各自的好处,这得看系统,代码怎样容易阅读这才是王道。
最基本要求
以标准计算机英文为蓝本,杜绝一切拼音、或拼音英文混杂的命名方式。英语不好者,请借助网络上的翻译工具。
一、变量命名
(1)使用英文名词、动词,以大写字母作为单词的分隔,其他的字母均使用小写,单词的首个字母使用小写。如:
$repeatCount = '';
$delUserSql = '';
(2)变量命名如要用缩写,只能使用项目中有据可查的英文缩写方式,例如可以使用$data而不可使用$data1、$data2这样容易产生混淆的形式,应当使用$articleData、$userData这样一目了然容易理解的形式。
(3)除非特殊情况,一般不推荐使用下划线。如:$repeat_count = '';(不推荐)
二、数组变量命名
使用英文名词、动词,以大写字母作为单词的分隔,其他的字母均使用小写,单词的首个字母使用小写,不使用下划线,以字符串 Array 为后缀,例: $scopeArray = array(); $bookIdArray = array();
提示:
除非特殊情况,一般不推荐使用下划线。如:$book_id_array = array();(不推荐)
三、全局变量
全局变量应该带前缀‘g’, 使用大写字母作为词的分隔,其他的字母均使用小写。理由:知道一个变量的作用域是非常重要的。 例如: global $gLog;
四、全局常量命名
使用英文名词、动词,所有字母都使用大写,以下划线'_'分隔每个单词。这是命名全局常量的传统。例如:
define( 'WEBSITE_NAME', '名称' );
define( 'WEBSITE_URL', '地址' )
define("A_GLOBAL_CONSTANT", "Hello world!");
五、静态变量命名
第一种写法:静态变量应该带前缀‘s’,使用大写字母作为词的分隔,其他的字母均使用小写。理由:知道一个变量的作用域是非常重要的。 例如:
function test(){
static $sStatus = 0;
}
第二种写法:使用英文名词、动词,以大写字母作为单词的分隔,其他的字母均使用小写,单词的首个字母使用小写,不使用下划线,以字符串 Static 为后缀, 例如:
function getDirectoryFile(){
static $fileArrayStatic = '';
static $fileNumStatic = '';
...
}
function getDirectoryFile(){
static $fileArrayStatic = '';
static $fileNumStatic = '';
...
}
六、函数命名
函数名使用小写字母、下划线组合。如:get_client_ip().函数名字采用C语言的惯例,所有的字母使用小写字母,使用'_'分割单词。 这样可以更易于区分相关联的类名。
注意点1:不要把小括号和函数名紧贴在一起。 要用空格隔开它们。 如果小括号紧贴着函数名,二者很容易被看成是一体的。
例如:
function some_bloody_function () {
...
}
注意点2:除非必要,不要在Return返回语句中使用小括号。
七、类的命名规范
(1). 使用英文名词,类文件采用驼峰式写法。以大写字母作为词的分隔,其他的字母均使用小写,名词的首个字母使用大写,不使用下划线。
(2). 使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像URL,HTML)
(3). 在为类命名前首先要知道它是什么。如果通过类名提供的线索,您还是想不起这个类是什么的话,那么您的设计是做得不够好。
(4). 超过三个单词组成的混合类名是容易造成系统各个实体间的混淆,请重新设计类名。
例如:
class UserAccount{
...
}
class PaintingOrder{
...
}
八、类文件命名规范
类的文件名与类的名字保持一致,包括大小写以“ .class.php”作为文件的后缀。 如:MyDb类保存的文件名称是MyDb.class.php,MySql类保存的文件名称是MySql.class.php,Page类保存的文件名是Page.class.php,UserName类保存的文件名称是:UserName.class.php 。
注意:正是由于类的文件名要与类的名字保持一致,所以一个php文件只能包含一个类定义编码。
九、类属性命名规范
使用英文名词、动词,以大写字母作为词的分隔,其他的字母均使用小写,对于类属性为某个对象变量,则以字符串 Object 为后缀,普通属性命名规范同变量的命名规范。如果是用于存储对象的属性,使用1个下划线开始。例如:
public $tableName = '';
private $databaseObject = '';
public $_username = NULL;
十、类方法命名规范
类中的方法可自行定义如下两种,
1)全部使用小写用下划线作为词的分隔 (get_file_content),
2)采用驼峰法,即以大写字母作为词的分隔,其他的字母均使用小写,
通常每个方法只执行一项逻辑动作事务,所以对它们的命名应该清楚的说明它们是做什么的:
如用checkEmailErrors()代替errorCheck(),用dumpDataToFile()代替dataFile()。这么做使功能和数据成为更可区分的物体。
十一、类方法参数命名
方法的参数的命名规范同变量的命名规范。
十二、类的实例对象的命名(对象变量命名)
类的实例对象的命名规范同变量的命名规范,只不过实例对象是以1个下划线开头的,同类中存储对象的属性的规范一样。
这样,无论是在类的内部,还是类的外部,只要是以下划线开头的变量,那就是对象名。(jQuery对象的命名规范与此一致。国外通用。) 例:
$_name = new UserName();
有的公司要求是 "变量名" + "_obj",如:$name_obj;
而有的公司则使用类名称为变量前缀,所有字母都使用大写,以字符串_OBJECT 为后缀,例如:
$USERNAME_OBJECT = new UserName();$PAINTINGORDER_OBJECT = new PaintingOrder();
十三、数据库命名
数据库表名所有字母都使用小写,使用'_'作为每个词的分界,数据字段命名也与数据表命名相同.
例如:
[hide]
cz_goods_attr(商品属性表)
cz_goods_type(商品类别表)
十四、模板文件名命名
所有字母都使用小写,使用'_'作为每个词的分界,这样做的好处是方便平移到其他的系统平台中,不会因为大小写而发生问题.
例如:
brand_add.html (品牌增加显示模版文件)
brand_list.html(品牌展示模版文件)
十五、文件名的命名规范
文件名使用英文名词、英文动词,以及下划线,所有字母都使用小写字母。例如: index.php、index_ad.html。
本文版权归传智播客PHP学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客PHP培训学院
首发:http://php.itcast.cn/