为什么我们要培养自己的编码规范?
我们写代码的时候,一个好的编码规范,对我们来说能够起到很多意向不到的效果。至少会有一下的好处:
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 "color: #0000ff">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的要求,所以通过这个工具,还可以生成一份对代码的总体说明,相当于一个使用说明书!g代码注释的种类
1、块注释
块注释,个人认为主要用在了三个地方。对php脚本的描述、对一个大的功能模块的描述、在一行之内不能写完注释的时候,也应该放在块注释中2、行注释
行注释,个人认为他是配合块注释进行工作的!一般用于描述一个大的功能模块的具体细节!实战的案例
关于phpdocumentor语法的具体使用细节,这里就不多说了,官网上说的再清楚不过了
从上面的例子中我们可以看一下代码的布局大致是怎么回事,但是还需要我们在实践中慢慢摸索
下面附上一些php的编程规范,给大家参考下
一、文件标记:
1.所有php文件,其代码标记均采用完整php标签,不建议使用短标签(短标签容易和xml混淆,php从5.4开始默认不支持短标记)。
2.对于只有php的代码文件,建议省略结尾处的‘"\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):不要 滥用语法糖,语法糖就是语言中的潜规则,即不具备普遍代表性的语法。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]