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 相关文章推荐
如何去掉文章里的 html 语法
Oct 09 PHP
信用卡效验程序
Oct 09 PHP
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
Dec 01 PHP
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
Jun 13 PHP
thinkphp常见路径用法分析
Dec 02 PHP
ThinkPHP中redirect用法分析
Dec 05 PHP
PHP汉字转换拼音的函数代码
Dec 30 PHP
PHP实现原生态图片上传封装类方法
Nov 08 PHP
PHP单例模式详解及实例代码
Dec 21 PHP
Django 中 cookie的使用
Aug 17 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
python进程与线程小结实例分析
Nov 11 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
php数组去重复数据示例
2014/02/25 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
php基于jquery的ajax技术传递json数据简单实例
2016/04/15 PHP
php mysql获取表字段名称和字段信息的三种方法
2016/11/13 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
繁简字转换功能
2006/07/19 Javascript
ajax无刷新动态调用股票信息(改良版)
2008/11/01 Javascript
img标签中onerror用法
2009/08/13 Javascript
jquery动态改变form属性提交表单
2014/06/03 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
2015/01/02 Javascript
jquery ajax 如何向jsp提交表单数据
2015/08/23 Javascript
javascript数据结构之二叉搜索树实现方法
2015/11/25 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
2016/04/29 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
2016/08/17 Javascript
ES6新特性八:async函数用法实例详解
2017/04/21 Javascript
javascript性能优化之分时函数的介绍
2018/03/28 Javascript
vue-music 使用better-scroll遇到轮播图不能自动轮播问题
2018/12/03 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
Vue $emit()不能触发父组件方法的原因及解决
2020/07/28 Javascript
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
讲解Python中if语句的嵌套用法
2015/05/14 Python
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
python 函数传参之传值还是传引用的分析
2017/09/07 Python
对python中的xlsxwriter库简单分析
2018/05/04 Python
在python中只选取列表中某一纵列的方法
2018/11/28 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
2020/01/25 Python
Python基于Dlib的人脸识别系统的实现
2020/02/26 Python
python对指定字符串逆序的6种方法(小结)
2020/04/02 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
Python 如何查找特定类型文件
2020/08/17 Python
世界闻名的衬衫制造商:Savile Row Company
2018/07/30 全球购物
技校教师求职简历的自我评价
2013/10/20 职场文书
合同意向书范本
2014/07/30 职场文书