php好代码风格的阶段性总结


Posted in PHP onJune 25, 2016

本文总结了php好代码的风格,分享给大家供大家参考,具体如下:

1、避免使用魔数

if($age<18){
}

这个18不太明白为什么要这样子。

可以将28定义在一个变量里面,这个变量命名表明了这个值的含义

$adult_age = 18;//成年的分界点年龄
if($age<$adult_age){
}

2、函数的返回结果:不要使用一个变量来存储返回结果

一旦你知道了返回结果,就应该马上返回。这样做的好处,是可以减少错误。

3、函数带有很多的参数。不要超过三个

如果参数很多,尽量聚合成一个model传递进去。比如一个数组,一个实例都可以。

太多的参数为什么影响方法的稳定性呢?

比如修改就会变得很麻烦。

我现在明白了。这个方法需要新加一个参数传递进去,那么原来调用这个方法的代码,就得跟着改变。

在做接口的时候,经常会遇到类似的问题。

function forgot($userName, $email, $email_url, $format = 'json')

上面是三个参数。

原来别人调用这个函数是,

forgot($userName, $email, $email_url, $format = 'json');

现在需求要变化了,需要新增加一个参数。怎么办?

原来的代码就要跟着修改。方法并不稳定。要么就重新开一个方法适应新的需求。要么就修改调用方的调用代码。

但是有种办可以避免这种问题

把原来传递参数做成数组形式,如下:

forgot($params=array(),$format = 'json');

聚合成一个数组。这样可以加任意多个参数。

如何理解:php引擎的内置函数,带有多个参数的情况呢?

设计缺陷?

4、方法的参数中含有布尔参数。

这意味着,这个方法不是完成一个单一的目标。违背了单一职责。增加了复杂性。

留给大家思考:如何理解我们现在代码中的问题呢

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
用PHP和ACCESS写聊天室(六)
Oct 09 PHP
在任意字符集下正常显示网页的方法二(续)
Apr 01 PHP
php 分页函数multi() discuz
Jun 21 PHP
PHPExcel读取Excel文件的实现代码
Dec 06 PHP
基于php-fpm 参数的深入理解
Jun 03 PHP
调整PHP的性能
Oct 30 PHP
PHP中cookie和session的区别实例分析
Aug 28 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
Jul 29 PHP
PHP利用APC模块实现大文件上传进度条的方法
Oct 29 PHP
PHP6新特性分析
Mar 03 PHP
PHP开发APP端微信支付功能
Feb 17 PHP
浅谈PHPANALYSIS提取关键字
Mar 08 PHP
php编译安装php-amq扩展简明教程
Jun 25 #PHP
将PHP的session数据存储到数据库中的代码实例
Jun 24 #PHP
php自动载入类用法实例分析
Jun 24 #PHP
php模拟post上传图片实现代码
Jun 24 #PHP
一个简单安全的PHP验证码类 附调用方法
Jun 24 #PHP
java微信开发之上传下载多媒体文件
Jun 24 #PHP
微信公众号判断用户是否已关注php代码解析
Jun 24 #PHP
You might like
不错的PHP学习之php4与php5之间会穿梭一点点感悟
2007/05/03 PHP
php使用CURL伪造IP和来源实例详解
2015/01/15 PHP
Laravel下生成验证码的类
2017/11/15 PHP
jQuery EasyUI API 中文文档 - MenuButton菜单按钮使用介绍
2011/10/06 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
jquery实现多屏多图焦点图切换特效的方法
2015/05/04 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
jQuery弹出层插件popShow(改进版)用法示例
2017/01/23 Javascript
用director.js实现前端路由使用实例
2017/01/27 Javascript
JavaScript中捕获与冒泡详解及实例
2017/02/03 Javascript
基于BootStrap的文本编辑器组件Summernote
2017/10/27 Javascript
浅谈Angular 中何时取消订阅
2017/11/22 Javascript
移动web开发之touch事件实例详解
2018/01/17 Javascript
js代码编写无缝轮播图
2020/09/13 Javascript
[03:02]2014DOTA2西雅图邀请赛 让队员自己告诉你DK NAVI备战情况
2014/07/08 DOTA
[10:14]2018DOTA2国际邀请赛寻真——paiN Gaming不仅为自己而战
2018/08/14 DOTA
Python中函数的参数定义和可变参数用法实例分析
2015/06/04 Python
python邮件发送smtplib使用详解
2020/06/16 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
使用tensorflow实现线性svm
2018/09/07 Python
PyQt5图形界面播放音乐的实例
2019/06/17 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
关于PyCharm安装后修改路径名称使其可重新打开的问题
2020/10/20 Python
基于Canvas+Vue的弹幕组件的实现
2019/07/23 HTML / CSS
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
2013/05/29 面试题
医院护士求职自荐信格式
2013/09/21 职场文书
秘书行业自我鉴定范文
2013/12/30 职场文书
中国梦的演讲稿
2014/01/08 职场文书
致100米运动员广播稿
2014/02/14 职场文书
中秋客户感谢信
2015/01/22 职场文书
2015纪念九一八事变84周年演讲稿
2015/03/19 职场文书
2015年档案管理员工作总结
2015/05/13 职场文书
2015年科普工作总结
2015/07/23 职场文书
详解如何使用Nginx解决跨域问题
2022/05/06 Servers