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 相关文章推荐
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
Dec 06 PHP
PHP在网页中动态生成PDF文件详细教程
Jul 05 PHP
推荐25款php中非常有用的类库
Sep 29 PHP
php生成随机颜色方法汇总
Dec 03 PHP
CentOS6.5 编译安装lnmp环境
Dec 21 PHP
PHP中array_keys和array_unique函数源码的分析
Feb 26 PHP
magento后台无法登录解决办法的两种方法
Dec 09 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
Jan 19 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
Feb 07 PHP
ThinkPHP5框架缓存查询操作分析
May 30 PHP
PHP实现SMTP邮件的发送实例
Sep 27 PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
Nov 13 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作的文本留言本的例子(四)
2006/10/09 PHP
深入探讨<br />和 \r\n两者有什么区别??
2013/06/05 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
2015/11/05 PHP
PHP数据库连接mysql与mysqli对比分析
2016/01/04 PHP
php查询内存信息操作示例
2019/05/09 PHP
Javascript 陷阱 window全局对象
2008/11/26 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
2014/02/24 Javascript
当滚动条滚动到页面底部自动加载增加内容的js代码
2014/05/13 Javascript
jQuery元素的隐藏与显示实例
2015/01/20 Javascript
Boostrap入门准备之border box
2016/05/09 Javascript
AngularJS 依赖注入详解及示例代码
2016/08/17 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
JS造成内存泄漏的几种情况实例分析
2020/03/02 Javascript
Python 专题一 函数的基础知识
2017/03/16 Python
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
Python常用模块logging——日志输出功能(示例代码)
2019/11/20 Python
简单了解Python变量作用域正确使用方法
2020/06/12 Python
keras 自定义loss层+接受输入实例
2020/06/28 Python
python获取整个网页源码的方法
2020/08/03 Python
python3中编码获取网页的实例方法
2020/11/16 Python
python调用百度API实现人脸识别
2020/11/17 Python
CSS3 创建网页动画实现弹跳球动效果
2018/10/30 HTML / CSS
Html5 语法与规则简要概述
2014/07/29 HTML / CSS
带你认识HTML5中的WebSocket
2015/05/22 HTML / CSS
bonprix荷兰网上商店:便宜的服装、鞋子和家居用品
2020/07/04 全球购物
mysql_pconnect()和mysql_connect()有什么区别
2012/05/25 面试题
秋季运动会通讯稿
2014/01/24 职场文书
社区母亲节活动方案
2014/03/05 职场文书
优秀教师演讲稿
2014/05/06 职场文书
暖通工程师岗位职责
2014/06/12 职场文书
反邪教标语
2014/06/23 职场文书
房产协议书范本2014
2014/09/30 职场文书
上班迟到检讨书300字
2014/10/18 职场文书
大学生心理健康活动总结
2015/05/08 职场文书
80后创业总结的9条职场用人思想,记得收藏
2019/08/13 职场文书
用python批量解压带密码的压缩包
2021/05/31 Python