从代码风格说起,更好的团队协作
在多次 review 新同事代码时,不停的评论哪里应该换行,哪里应该加上一个空格等等,就会思考,这些事情难道不是一开始就默认会做好的吗,我们 review 代码的时候应该全心力的去看代码逻辑,结构,检查其中的疏漏,而不是被这些细节所影响。所以在每个新同事入职的第一天,团队代码风格应该被了解。
好的代码风格让人赏心悦目,今天在这里和大家一起探讨。
基础
首先阅读「PSR 规范」PSR-2 编码风格规范了解基础规范。后文主要是对其的一些补充。
namespace 以及 use 声明
namespace应该与<?php间有一行换行use按照长度从短到长排序- 全部命名空间的类调用
use申明代替\
<?php
namespace App;
use App;
use App\Bar;
use App\Services\Baz;
class Foo
{
App::run();
}
如果使用 sublime 作为文本编辑器,可以使用 PHP Companion 来引入命名空间。配置
use_sort_length为 true 就可以自动为use按长度排序了。其他编辑器或者ide应该可以找到类似插件。
结构控制
if, elseif, else, foreach, while...
所有的 } 后必须有一行换行,{ 上面也应该有一行换行
<?php
start();
if (true) {
//
}
end();
! 的使用
在 ! 有一个空格
<?php
if (! $isTrue) {
//
}
return ! empty($data);
try, catch
如果使用 php7.1 的话,有两个或以上异常做相同的处理,需要使用新的语法结构
<?php
try {
//
} catch (FirstException | SecondException $e) {
//
}
PHP 函数
非类,接口,trait 的函数命名使用下划线命名,且先调用 function_exists 查看是否已经申明
<?php
if (! function_exists('code_style')) {
function code_style() {
//
}
}
和 laravel 不同的地方
. 字符串连接
在 . 左右两边都有空格
<?php
$coding = 'coding';
echo 'php ' . $coding . ' style';
供学习交流,有不同看法欢迎和我们讨论,???,地址在 LingxiTeam/php_coding_style_guide
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: