在多次 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 協議》,轉載必須註明作者和本文連結