PHP代码规范及技巧

整理一些开发过程当中一些不错的点顺便整理成本身的开发规范,方便审视本身。
里面有些是参考其它博客我的以为不错的点若有侵犯可删,持续完善更新中。
有不足的地方但愿你们能够给出建议。

变量

  1. 一个变量最好只有一个做用,切勿为了节省代码行数,以为一个变量能够作多个用途。(单一原则)
  2. 方法内部若是有局部变量,那么局部变量应该靠近在使用的地方,而不是所有在顶部声明所有的局部变量。

运算符

  1. 1元运算符和变量之间不须要空格。例如:i++ 而不是 i ++
  2. 2元运算符与变量之间须要空格隔开。例如: $val = 0.1 * $num 
  3. 3元运算嵌套使用时能够换行,方便阅读理解
    $host = !empty($_REQUEST['domain'])
    	? $_REQUEST['domain']
    	: (!empty($_SERVER['argv'][2])
    		? $_SERVER['argv'][2]
    		: $_SERVER['SERVER_NAME']);

     

  4. 当有多个运算符的时候须要使用括号来明确正确的顺序,可读性较好。例如: 2 << (1 + 2 * 3 - 4)

条件表达式

  1. 当条件过多、或过长的时候能够换行,为了代码整齐和方便阅读
    if( !is_array && data == 0 ||
        is_array && !data.length
    ) {
       // code
    }

     

  2. 在一个代码块里面尽量的使用 return 来结束,减小代码缩进以及方便阅读。对了PHP的else if 和elseif 均可以使用, 两种语法都不会报错,统一用elseif
    //不善用return的代码
    funcion f() {
        $ret = '';
        if(isNull) {
            $ret = 'NULL'
        } elseif(isString) {
            $ret = 'STRING'
        } elseif(isArray) {
            $ret = 'ARRAY'
        }
        return $ret;
    }
    
    
    // 善用return的代码
    function f() {
        if(isNull) {
            return 'NULL';
        }
    
        if(isString) {
            return 'STRING';
        }
    
        if(isArraay) {
            return 'ARRAY';
        }
    }

     

  3. 每一个分支的实现都必须使用 {} 包含。
  4. 条件判断应该让变量在左,条件在右。
    if($num == 2) {}

     

  5. switch 语句后面的每一个分支都须要用大括号括起来。
  6. switch 语句后面的 default 分支必须存在,除非是在对枚举进行 switch。

 

 

方法

  1. 方法与方法之间间隔三行。
  2. 大量的方法尽可能要以组的形式放在一块儿,好比生命周期函数、公有方法、私有方法、setter && getter...
  3. 一个方法内的代码最好保持在50行之内,通常经验来看若是一个方法里面的代码行数过多,代码的阅读体验就不好。
  4. 一个函数只作一个事情,作到单一原则。全部的类、方法设计好后就能够相似搭积木同样实现一个系统。
  5. 多个方法若是有逻辑重复的代码,建议将重复的部分抽取出来,成为独立的函数或者方法进行调用
相关文章
相关标签/搜索