我们写代码的时候,一个好的编码规范,对我们来说能够起到很多意向不到的效果。至少会有一下的好处:
1、提高我们的编码效率。整洁划一的代码方便我们进行复制粘贴嘛!
2、提高代码的可读性。
3、显示我们专业。别人看到了我们的代码,创造全体代码的书写流程都整洁划一,瞬间逼格就上去了!
4、方便团队协同事情。大家利用同一的规范,这样就肃清了五花八分的书写办法,同一折衷!
编码规范包含两大块,代码规范和注释规范
实在我们所写的php脚本,实在也便是由两大块组成的,即对代码的书写、对代码的注释!
不同的框架,乃至不同的公司,对这方面都会有所不同,这里只是已将之言,仅仅是对自己的书写规范进行一个总结!
希望能对其他的朋友以启迪
1、代码的书写规范
文件夹的命名:
文件夹同一利用小写字母。如存放掌握器的文件夹,直接命名为controller即可
文件的命名:
如果是类文件的话,那么文件的命名该当同类名称保持同等,统一利用大驼峰。如Session.class.php , 对应类名称为Session,
如果是普通的工具脚本,那么统一利用小驼峰,如common.php
类名称的命名:
类名称同一利用大驼峰,Cookie类
方法名的命名:
统一利用小驼峰,一样平常利用 动词 + 名次 的形式来描述该方法的功能,如sendMessage,发送短信。
在面向工具中,遵照同样的规则,但是个别地方有所差异:
public getUserName()protected _getTotalAmount()private _setBlanceAmount()
变量的命名规范:
关于变量,我们须要多说几点:
1、无论在面向工具还是非面向工具的语法中,变量统一利用小驼峰,如:$workYears。
但是在面向工具中又有所不同,public 、 protected 、 private ,protected或者private属性的时候,前面加上了 _ 作为差异
public $startPosition = 1;protected $_salaryAmount =1000;private $_sex = 'formale';
2、如果是常量的话,统一利用大写,中间利用下划线进行分割。
define('CURRENT_SCRIPT', 'index.php');const TRANSACTION_TYPE = 'income';
3、全局变量,利用大驼峰,前缀加上 _ ,所有的单词首字母大写。由于知道一个变量的浸染域是非常主要的,以是局部变量和全局变量该当很明显的进行分开!
$_System_Config;
$_Root_Path;
缩进符
关于编码的缩进符号,我们统一利用制表符缩进!
大概有的人会问为什么不适用空格缩进的呢?
缘故原由很大略,大部分的编辑器都支持制表符即是多少个空格,而利用空格就没得调了!
运算符号
所有的两元运算符号,都该当前后利用空格进行
$name = 'zero';$age > 18 ? 'adult' : 'children';
常见的流程语句方案
我们约定,所有的流程语句的花括号都单独霸占一行。情由:如果碰着较为繁芜的业务逻辑,花括号会涌现很多的嵌套,这样一来我们会稠浊个个对应的花括号!
1、分支语句
if($age >= 18 && $age <= 30) { echo 'young man';}else if($age > 30 && $age <= 60){ echo 'middle aged';}else{ echo 'old man';}//下面这段代码高手我们一个问题,在if语句中,纵然在可以不要花括号的情形下,花括号也是要写上的if($age > 60){ echo 'I am very old';}switch($status){ case 'forbiden': echo 'login forbidden'; break; case 'normal': echo 'login in'; break; default: echo 'status is wrong' : break;}
2、循环语句
while($condition){ statesments......;}foreach($arrayList as $arrayKey => $arrayItem){ states......;}do{ statements......; }while($condition)for($start; condition; changenumber){ statements......;}
2、注释的书写规范
很多人说好的代码是不须要注释的,实在,个人认为这是一句很扯淡的话(也可能他是对的,除非全体团队就他一个人,他包办了统统,不用看别人的代码)。
个人的不雅观点是:多写注释,无论是对团队的其他人,还是对自己都是非常友好的!
根据个人的履历来看,注释至少有以下几个浸染:
1、有利于提高代码的可读性,毕竟读你的注释要比读你的代码要随意马虎的多!
2、有利于方案自己的代码布局!
之以是这么说,是由于和代码注释的种类有关。“有利于代码的布局”,这种看着有点悬的事,光说是说不明白的,我们须要实实在在的例子做支撑!
3、由于我们的注释规范是按照phpdocumentor的哀求,以是通过这个工具,还可以天生一份对代码的总体解释,相称于一个利用解释书!
代码注释的种类
1、块注释
块注释,个人认为紧张用在了三个地方。对php脚本的描述、对一个大的功能模块的描述、在一行之内不能写完注释的时候,也该当放在块注释中
2、行注释
行注释,个人认为他是合营块注释进行事情的!
一样平常用于描述一个大的功能模块的详细细节!
实战的案例
关于phpdocumentor语法的详细利用细节,这里就不多说了,官网上说的再清楚不过了
从上面的例子中我们可以看一下代码的布局大致是怎么回事,但是还须要我们在实践中逐步摸索
下面附上一些php的编程规范,给大家参考下
一、文件标记:
1.所有php文件,其代码标记均采取完全php标签,不建议利用短标签(短标签随意马虎和xml稠浊,php从5.4开始默认不支持短标记)。
2.对付只有php的代码文件,建议省略结尾处的‘?>'。这是为了防止多余的空格或其他字符影 响到代码。
二、文件和目录命名
1.程序文件名和目录名均采取故意义的英文命名,不该用拼音和无意义的字母,只许可涌现字母、数字、下划线和中划线字 符,同时必须以‘.php'结尾(模板文件除外),多个词间利用驼峰命名法。
例://类统一采取:DemoTest.class.php
//接口统一采取:DemoTest.interface.php
//其他按照各自的办法:demoTest.{style}.php
三、文件目录构造
规范的目录构造有助于团队协作开拓和后期掩护。
——app //独立的运用
——class //单个的类文件,共用的类文件
——conf/inc //配置文件或目录
——data //数据文件或目录
——doc //程序干系文档
——htdocs //document_root
——images //所有图片文件存放路径
——css //css文件
——js //js文件
——lib //共用类库
——template //模板文件
——tmp //临时文件目录
——cache //缓存文件
——session //SESSION文件
——template_c //编译后的模板文件
——other
——upload //上传文件
——manage //后台管理文件目录
四、命名规范
1.变量命名:php中变量区分大小写,一个有效的变量名由数字、字母或下划线开头,后面追随意任性数量的字母、数字、下划线。
a)程序整体以驼峰命名法,以小写字母开始,同时命名要故意义。(function displayName())
b)PHP全局变量键值两边都有‘_',中间用驼峰命名法命名。($_GLOBAL['_beginTime_'])
c)普通变量整体采取驼峰命名法,建议在变量前加表示类型的前缀。不愿定类型的以大写字符开头。
d)函数名要只管即便故意义,只管即便缩写。
2.类及接口命名:
a)以大写字母开头。
b)多个单词组成的变量名,单词之间不用间隔,各个单词首字母大写。
c)类名与类文件名保持同等。
d)程序中所有的类名唯一。
e)抽象类应以Abstract开头。
接口命名规则:
i)采取和类相同的命名规则,但在其命名前加‘i'字符,表示接口。
ii)只管即便保持和实现它的类名同等。
3.数据库命名:在数据库干系命名中,一律不涌现大写。
a)表名均利用小写字母。
b)表名利用同一的前缀且前缀不能为空。
c)对付多个单词组成的表名,利用‘_'间隔。
d)表字段命名规则。
i)全部利用小写字母。
ii)多个单词不用下划线分割。
iii)给常用字段加上表名首字母做前缀。
iv)避免利用关键字和保留字。
五、注释规范
1.程序注释:写在代码前面而不是后面,单行代码按照习气写在代码尾部;大段注释采取//的办法,常日为文件或函数的顶部,代码内部利用'//';注释不宜太多;代码注释该当描述为什么而不是做什么,给代码阅读者供应最紧张的信息。
2.文件注释:文件注释一样平常放在文件的顶部,包括本程序的描述、作者、项目名称、文件名称、韶光日期、版本信息、主要的利用解释(类的调用,把稳事变等)。版本变动要修正版本号,并加上mofify注释。
3.类和接口注释:按照一样平常的习气,一个文件只包含一个类。
4.方法和函数注释:方法和函数的注释写在前面,常日须要表明信息的紧张可见性、参数类型和返回值类型。
/
连接数据库
@param string $dbhost 数据库做事器地址
@param string $dbuser 数据库用户名
@param string $dbpwd 数据库密码
/
六、代码风格
1.缩进和空格:利用4个空格做为缩进,不该用Tab键;变量赋值时,等号两边留出空格。($url = '$_GET['url']';)
2.语句断行:只管即便担保程序语句一行即一句;只管即便不要使一行的代码过长,80个字符以内;如果一行的代码太长,请利用类似于‘.='办法断行连接;实行数据库的sql语句操作时,只管即便不要再函数内写sql语句,而先用变量定义sql语句,然后在实行操作的函数中调用定义的变量。
3.更好的习气:在代码中利用下面列举的方法,可以使代码更优雅。
1):多利用php中已经存在的常量,而不要自己定义。
例://换行
echo $msg.\"大众\r\n\"大众;
echo $msg,PHP_EOL;
php中PHP_EOL是一个预定义常量,表示一行结束,随着所利用系统不同,利用PHP_EOL代码可移植性更高
2):在echo中利用逗号做连接符,比用‘.'做连接符代码更都雅。
3):单引号的效率高于双引号,但二者在利用上有差异,学会利用printf函数。
例://echo
echo '每个'.$scholl.'大约有'.floor($avg).'个学生';
//printf
$format = '每个%s大于有$d个学生';
printf($format,$school,$avg);
4) :详细的注释
5):不要 滥用语法糖,语法糖便是措辞中的潜规则,即不具备普遍代表性的语法。
举两个例子,怎么样写好代码
最经典的算法,献给正在口试道路上的你
如果你现在在口试PHP的道路上,看看口试根本题吧