參考這個PHP代碼規範後,同事都誇你的代碼寫的棒極了

爲何須要編碼規範

一個好的編碼習慣靠平時的習慣養成,團隊裏有好的編碼規範,而且每一個人都按照制定的編碼規範來執行,那麼我相信代碼的質量以及可維護性會上升一個檔次。而目前PHP要求都要遵照PSR標準規範,我只列舉一部分編碼中經常使用的寫法進行說明,更多的規範你們能夠搜索PSR標準php

PHP文件開始標籤

對於純PHP的代碼文件,必須以<?php 或者<?標籤開始,而且獨佔一行,同時不要加?>的結束標籤,至於爲啥,感興趣的本身去了解哈。segmentfault

<?php

class TestDemo
{
}

Class類的聲明

類名必須以大寫開頭的駝峯式命名(TestDemo),兩個花括號換行且獨佔一行,同時須要用多行註釋說明類的建立人以及做用等。測試

/**
 * 這是一個測試Demo類
 * Author: gxcuizy
 * Date: 2021-05-25 13:57:16
 * Class TestClass
 */
class TestDemo
{
}

Class類的常量

類中的常量命名必須所有字母都要大寫(HELLO_WORLD),同時單詞間如下劃線_分隔,並且最好增長註釋說明,單行註釋最好在//後先加一個空格再接註釋說明。ui

// 聲明一個常量
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)不能少,兩個花括號換行且獨佔一行,參數的等號兩邊各一個空格,方法的註釋不要漏了哈,包括方法的做用、參數說明以及返回值說明等。spa

/**
 * 這是一個測試方法
 * @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:若是這個文件不是你一我的建立和修改,請不要輕易一鍵格式化整個文件,由於會把人家的代碼也給格式化了,推薦只格式化你本身的代碼便可,每一個人都不喜歡別人隨意動本身的代碼,因此不要搞事情!不要搞事情!不要搞事情!重要的事情說三遍,你懂的。code

最後總結

先給出我的的幾點建議吧,但願對你有所幫助:orm

  • 別加多餘的空格,也就是該加一個空格就加一個就行(按照代碼規範來就行)
  • 多餘的換行刪除掉(影響代碼視覺美觀)
  • 調試代碼記得及時刪除,而不只僅是註釋(怕你長此以往就忘了)
  • 代碼註釋,代碼註釋,代碼註釋(再忙也要適當的寫註釋,不要說後面再加)
  • 你能夠看不爽別人的代碼,可是不要隨意修改別人的代碼(由於別人看你的代碼也不爽)
  • 歡迎補充……

我只是抽取了一小部分經常使用到的代碼規範說一下,若是有寫的不對的地方請你們指出,我會及時修改,謝謝。若是你還有其餘好的編碼技巧,也歡迎和你們一塊兒分享。

相關文章
相關標籤/搜索