好的代码风格积累
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、方法的参数中含有布尔参数。
这意味着,这个方法不是完成一个单一的目标。违背了单一职责。增加了复杂性。
思考:如何理解我们现在代码中的问题呢