为什么需要编码规范

一个好的编码习惯靠平时的习惯养成,团队里有好的编码规范,并且每个人都按照制定的编码规范来执行,那么我相信代码的质量以及可维护性会上升一个档次。而目前PHP要求都要遵守PSR标准规范,我只列举一部分编码中常用的写法进行说明,更多的规范大家可以搜索PSR标准

PHP文件开始标签

对于纯PHP的代码文件,必须以<?php 或者<?标签开始,并且独占一行,同时不要加?>的结束标签,至于为啥,感兴趣的自己去了解哈。

<?php

class TestDemo
{
}

Class类的声明

类名必须以大写开头的驼峰式命名(TestDemo),两个花括号换行且独占一行,同时需要用多行注释说明类的创建人以及作用等。

/**
 * 这是一个测试Demo类
 * Author: gxcuizy
 * Date: 2021-05-25 13:57:16
 * Class TestClass
 */
class TestDemo
{
}

Class类的常量

类中的常量命名必须全部字母都要大写(HELLO_WORLD),同时单词间以下划线_分隔,而且最好增加注释说明,单行注释最好在//后先加一个空格再接注释说明。

// 声明一个常量
const HELLO_WORLD = 'best';    

Class类的成员属性

类中的成员属性(也叫成员变量),成员属性的命名可以遵循三个规则:大写开头的驼峰式($UserName)、小写开头的驼峰式($userName)、下划线分隔式($user_name);这三种命名规则都可以,我个人习惯用下划线分隔式,大家也可以根据自己的习惯选择,但是最好与团队编码规则保持一致即可,同时三个修饰符(public、protected、private)不能少。

// 声明一个公共变量
public $user_name = '';
// 声明一个静态变量
public static $user_age = 18;

Class类的成员方法

类中的成员方法的命名必须采用小写开头的驼峰式命名(testAction)规则,方法的三个修饰符(public、protected、private)不能少,两个花括号换行且独占一行,参数的等号两边各一个空格,方法的注释不要漏了哈,包括方法的作用、参数说明以及返回值说明等。

/**
 * 这是一个测试方法
 * @param string $msg 参数说明
 * @return array
 */
public function testAction($msg = '')
{
    // 返回数据格式
    $return = array('code' => 200, 'msg' => '');
    return $return;
}

/**
 * 这是私有方法,方法命名以单下划线开始
 * @param string $arg 参数说明
 * @return string
 */
private function privateAction($arg = '')
{
    return $arg;
}

运算符和表达式

相对于运算符或者不同类型的表达式,不管在任何地方使用,我们都需要在其符号两边有一个空格,例如$a = 1;1 + 2以及1 && 0等。

/**
 * 获取两个数相加的和
 * @param int $one 第一个数
 * @param int $two 第二个数
 * @return int
 */
public function getUserAge($one = 0, $two = 0)
{
    $sum = $one + $two;
    return $sum;
}

控制结构的规范写法

类似if …… elsewhileswitch ……caseforeachfor等流程控制结构,基本都需要与括号()和花括号{}配合使用,要求括号()两边均有一个空格,而左花括号{需要与右括号)同行且有一个空格,而作为结束的右花括号}则需要单独一行,而主体内容都是包含在花括号{}中。

/**
 * 判断用户是否成年
 * @param int $age 年龄
 */
public function logicAction($age = 18)
{
    if ($age >= 18) {
        echo '已成年';
    } else {
        echo '未成年';
    }
}

快速一键格式化

现在很多IDE都支持一键格式化代码,比如PhpStorm等,一般快捷键都是Ctrl + Alt + L,你也可以根据你自己的习惯进行修改快捷键以及代码格式的标准,既可以一键格式化整个文档,也可以只选中某一部分代码进行格式化。PS:如果这个文件不是你一个人创建和修改,请不要轻易一键格式化整个文件,因为会把人家的代码也给格式化了,推荐只格式化你自己的代码即可,每个人都不喜欢别人随意动自己的代码,所以不要搞事情!不要搞事情!不要搞事情!重要的事情说三遍,你懂的。

最后总结

先给出个人的几点建议吧,希望对你有所帮助:

  • 别加多余的空格,也就是该加一个空格就加一个就行(按照代码规范来就行)
  • 多余的换行删除掉(影响代码视觉美观)
  • 调试代码记得及时删除,而不仅仅是注释(怕你久而久之就忘了)
  • 代码注释,代码注释,代码注释(再忙也要适当的写注释,不要说后面再加)
  • 你可以看不爽别人的代码,但是不要随意修改别人的代码(因为别人看你的代码也不爽)
  • 欢迎补充……

我只是抽取了一小部分常用到的代码规范说一下,如果有写的不对的地方请大家指出,我会及时修改,谢谢。如果你还有其他好的编码技巧,也欢迎和大家一起分享。


gxcuizy
2k 声望287 粉丝

我是如此的平凡,