国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP PSR-2 代碼風(fēng)格規(guī)范

hedge_hog / 2812人閱讀

摘要:結(jié)構(gòu)體主體一定要有一次縮進(jìn)。每個(gè)結(jié)構(gòu)體的主體都必須被包含在成對(duì)的花括號(hào)之中,這能讓結(jié)構(gòu)體更加結(jié)構(gòu)話,以及減少加入新行時(shí),出錯(cuò)的可能性。附錄問卷調(diào)查為了編寫本規(guī)范,小組制定了調(diào)查問卷,用來統(tǒng)計(jì)各成員項(xiàng)目的共同規(guī)范。

代碼風(fēng)格規(guī)范

本篇規(guī)范是 [PSR-1][] 基本代碼規(guī)范的繼承與擴(kuò)展。

本規(guī)范希望通過制定一系列規(guī)范化PHP代碼的規(guī)則,以減少在瀏覽不同作者的代碼時(shí),因代碼風(fēng)格的不同而造成不便。

當(dāng)多名程序員在多個(gè)項(xiàng)目中合作時(shí),就需要一個(gè)共同的編碼規(guī)范,
而本文中的風(fēng)格規(guī)范源自于多個(gè)不同項(xiàng)目代碼風(fēng)格的共同特性,
因此,本規(guī)范的價(jià)值在于我們都遵循這個(gè)編碼風(fēng)格,而不是在于它本身。

關(guān)鍵詞 “必須”("MUST")、“一定不可/一定不能”("MUST NOT")、“需要”("REQUIRED")、
“將會(huì)”("SHALL")、“不會(huì)”("SHALL NOT")、“應(yīng)該”("SHOULD")、“不該”("SHOULD NOT")、
“推薦”("RECOMMENDED")、“可以”("MAY")和”可選“("OPTIONAL")的詳細(xì)描述可參見 [RFC 2119][] 。

概覽


代碼必須遵循 [PSR-1][] 中的編碼規(guī)范 。

代碼必須使用4個(gè)空格符而不是 tab鍵 進(jìn)行縮進(jìn)。

每行的字符數(shù)應(yīng)該軟性保持在80個(gè)之內(nèi), 理論上一定不可多于120個(gè), 但一定不能有硬性限制。

每個(gè) namespace 命名空間聲明語(yǔ)句和 use 聲明語(yǔ)句塊后面,必須插入一個(gè)空白行。

類的開始花括號(hào)({)必須寫在函數(shù)聲明后自成一行,結(jié)束花括號(hào)(})也必須寫在函數(shù)主體后自成一行。

方法的開始花括號(hào)({)必須寫在函數(shù)聲明后自成一行,結(jié)束花括號(hào)(})也必須寫在函數(shù)主體后自成一行。

類的屬性和方法必須添加訪問修飾符(privateprotected 以及 public), abstract 以及 final 必須聲明在訪問修飾符之前,而 static 必須聲明在訪問修飾符之后。

控制結(jié)構(gòu)的關(guān)鍵字后必須要有一個(gè)空格符,而調(diào)用方法或函數(shù)時(shí)則一定不能有。

控制結(jié)構(gòu)的開始花括號(hào)({)必須寫在聲明的同一行,而結(jié)束花括號(hào)(})必須寫在主體后自成一行。

控制結(jié)構(gòu)的開始左括號(hào)后和結(jié)束右括號(hào)前,都一定不能有空格符。

1.1. 例子

以下例子程序簡(jiǎn)單地展示了以上大部分規(guī)范:

 $b) {
            $foo->bar($arg1);
        } else {
            BazClass::bar($arg2, $arg3);
        }
    }

    final public static function bar()
    {
        // method body
    }
}

通則


2.1 基本編碼準(zhǔn)則

代碼必須符合 [PSR-1][] 中的所有規(guī)范。

2.2 文件

所有PHP文件必須使用Unix LF (linefeed)作為行的結(jié)束符。

所有PHP文件必須以一個(gè)空白行作為結(jié)束。

純PHP代碼文件必須省略最后的 ?> 結(jié)束標(biāo)簽。

2.3. 行

行的長(zhǎng)度一定不能有硬性的約束。

軟性的長(zhǎng)度約束一定要限制在120個(gè)字符以內(nèi),若超過此長(zhǎng)度,帶代碼規(guī)范檢查的編輯器一定要發(fā)出警告,不過一定不可發(fā)出錯(cuò)誤提示。

每行不應(yīng)該多于80個(gè)字符,大于80字符的行應(yīng)該折成多行。

非空行后一定不能有多余的空格符。

空行可以使得閱讀代碼更加方便以及有助于代碼的分塊。

每行一定不能存在多于一條語(yǔ)句。

2.4. 縮進(jìn)

代碼必須使用4個(gè)空格符的縮進(jìn),一定不能用 tab鍵 。

備注: 使用空格而不是tab鍵縮進(jìn)的好處在于,
避免在比較代碼差異、打補(bǔ)丁、重閱代碼以及注釋時(shí)產(chǎn)生混淆。
并且,使用空格縮進(jìn),讓對(duì)齊變得更方便。

2.5. 關(guān)鍵字 以及 True/False/Null

PHP所有 [關(guān)鍵字][]必須全部小寫。

常量 truefalsenull必須全部小寫。

namespace 以及 use 聲明


namespace 聲明后 必須 插入一個(gè)空白行。

所有 use 必須 在 namespace 后聲明。

每條 use 聲明語(yǔ)句 必須 只有一個(gè) use 關(guān)鍵詞。

use 聲明語(yǔ)句塊后 必須 要有一個(gè)空白行。

例如:


類、屬性和方法


此處的“類”泛指所有的class類、接口以及traits可復(fù)用代碼塊。

4.1. 擴(kuò)展與繼承

關(guān)鍵詞 extendsimplements必須寫在類名稱的同一行。

類的開始花括號(hào)必須獨(dú)占一行,結(jié)束花括號(hào)也必須在類主體后獨(dú)占一行。


implements 的繼承列表也可以分成多行,這樣的話,每個(gè)繼承接口名稱都必須分開獨(dú)立成行,包括第一個(gè)。


4.2. 屬性

每個(gè)屬性都必須添加訪問修飾符。

一定不可使用關(guān)鍵字 var 聲明一個(gè)屬性。

每條語(yǔ)句一定不可定義超過一個(gè)屬性。

不要使用下劃線作為前綴,來區(qū)分屬性是 protected 或 private。

以下是屬性聲明的一個(gè)范例:


4.3. 方法

所有方法都必須添加訪問修飾符。

不要使用下劃線作為前綴,來區(qū)分方法是 protected 或 private。

方法名稱后一定不能有空格符,其開始花括號(hào)必須獨(dú)占一行,結(jié)束花括號(hào)也必須在方法主體后多帶帶成一行。參數(shù)左括號(hào)后和右括號(hào)前一定不能有空格。

一個(gè)標(biāo)準(zhǔn)的方法聲明可參照以下范例,留意其括號(hào)、逗號(hào)、空格以及花括號(hào)的位置。


4.4. 方法的參數(shù)

參數(shù)列表中,每個(gè)逗號(hào)后面必須要有一個(gè)空格,而逗號(hào)前面一定不能有空格。

有默認(rèn)值的參數(shù),必須放到參數(shù)列表的末尾。


參數(shù)列表可以分列成多行,這樣,包括第一個(gè)參數(shù)在內(nèi)的每個(gè)參數(shù)都必須多帶帶成行。

拆分成多行的參數(shù)列表后,結(jié)束括號(hào)以及方法開始花括號(hào) 必須 寫在同一行,中間用一個(gè)空格分隔。


4.5. abstractfinal 、 以及 static

需要添加 abstractfinal 聲明時(shí), 必須寫在訪問修飾符前,而 static必須寫在其后。


4.6. 方法及函數(shù)調(diào)用

方法及函數(shù)調(diào)用時(shí),方法名或函數(shù)名與參數(shù)左括號(hào)之間一定不能有空格,參數(shù)右括號(hào)前也 一定不能有空格。每個(gè)參數(shù)前一定不能有空格,但其后必須有一個(gè)空格。

bar($arg1);
Foo::bar($arg2, $arg3);

參數(shù)可以分列成多行,此時(shí)包括第一個(gè)參數(shù)在內(nèi)的每個(gè)參數(shù)都必須多帶帶成行。

bar(
    $longArgument,
    $longerArgument,
    $muchLongerArgument
);

控制結(jié)構(gòu)


控制結(jié)構(gòu)的基本規(guī)范如下:

控制結(jié)構(gòu)關(guān)鍵詞后必須有一個(gè)空格。

左括號(hào) (一定不能有空格。

右括號(hào) ) 前也一定不能有空格。

右括號(hào) ) 與開始花括號(hào) {一定有一個(gè)空格。

結(jié)構(gòu)體主體一定要有一次縮進(jìn)。

結(jié)束花括號(hào) } 一定在結(jié)構(gòu)體主體后多帶帶成行。

每個(gè)結(jié)構(gòu)體的主體都必須被包含在成對(duì)的花括號(hào)之中,
這能讓結(jié)構(gòu)體更加結(jié)構(gòu)話,以及減少加入新行時(shí),出錯(cuò)的可能性。

5.1. ifelseifelse

標(biāo)準(zhǔn)的 if 結(jié)構(gòu)如下代碼所示,留意 括號(hào)、空格以及花括號(hào)的位置,
注意 elseelseif 都與前面的結(jié)束花括號(hào)在同一行。


應(yīng)該使用關(guān)鍵詞 elseif 代替所有 else if ,以使得所有的控制關(guān)鍵字都像是多帶帶的一個(gè)詞。

5.2. switchcase

標(biāo)準(zhǔn)的 switch 結(jié)構(gòu)如下代碼所示,留意括號(hào)、空格以及花括號(hào)的位置。
case 語(yǔ)句必須相對(duì) switch 進(jìn)行一次縮進(jìn),而 break 語(yǔ)句以及 case 內(nèi)的其它語(yǔ)句都 必須 相對(duì) case 進(jìn)行一次縮進(jìn)。
如果存在非空的 case 直穿語(yǔ)句,主體里必須有類似 // no break 的注釋。


5.3. whiledo while

一個(gè)規(guī)范的 while 語(yǔ)句應(yīng)該如下所示,注意其 括號(hào)、空格以及花括號(hào)的位置。


標(biāo)準(zhǔn)的 do while 語(yǔ)句如下所示,同樣的,注意其 括號(hào)、空格以及花括號(hào)的位置。


5.4. for

標(biāo)準(zhǔn)的 for 語(yǔ)句如下所示,注意其 括號(hào)、空格以及花括號(hào)的位置。


5.5. foreach

標(biāo)準(zhǔn)的 foreach 語(yǔ)句如下所示,注意其 括號(hào)、空格以及花括號(hào)的位置。

 $value) {
    // foreach body
}
5.6. try, catch

標(biāo)準(zhǔn)的 try catch 語(yǔ)句如下所示,注意其 括號(hào)、空格以及花括號(hào)的位置。


閉包


閉包聲明時(shí),關(guān)鍵詞 function 后以及關(guān)鍵詞 use 的前后都必須要有一個(gè)空格。

開始花括號(hào)必須寫在聲明的同一行,結(jié)束花括號(hào)必須緊跟主體結(jié)束的下一行。

參數(shù)列表和變量列表的左括號(hào)后以及右括號(hào)前,必須不能有空格。

參數(shù)和變量列表中,逗號(hào)前必須不能有空格,而逗號(hào)后必須要有空格。

閉包中有默認(rèn)值的參數(shù)必須放到列表的后面。

標(biāo)準(zhǔn)的閉包聲明語(yǔ)句如下所示,注意其 括號(hào)、逗號(hào)、空格以及花括號(hào)的位置。


參數(shù)列表以及變量列表可以分成多行,這樣,包括第一個(gè)在內(nèi)的每個(gè)參數(shù)或變量都必須多帶帶成行,而列表的右括號(hào)與閉包的開始花括號(hào)必須放在同一行。

以下幾個(gè)例子,包含了參數(shù)和變量列表被分成多行的多情況。


注意,閉包被直接用作函數(shù)或方法調(diào)用的參數(shù)時(shí),以上規(guī)則仍然適用。

bar(
    $arg1,
    function ($arg2) use ($var1) {
        // body
    },
    $arg3
);

總結(jié)


以上規(guī)范難免有疏忽,其中包括但不僅限于:

全局變量和常量的定義

函數(shù)的定義

操作符和賦值

行內(nèi)對(duì)齊

注釋和文檔描述塊

類名的前綴及后綴

最佳實(shí)踐

本規(guī)范之后的修訂與擴(kuò)展將彌補(bǔ)以上不足。

附錄 A. 問卷調(diào)查

為了編寫本規(guī)范,小組制定了調(diào)查問卷,用來統(tǒng)計(jì)各成員項(xiàng)目的共同規(guī)范。
以下是此問卷調(diào)查的數(shù)據(jù),在此供查閱。

A.1. 問卷數(shù)據(jù)
url,http://www.horde.org/apps/horde/docs/CODING_STANDARDS,http://pear.php.net/manual/en/standards.php,http://solarphp.com/manual/appendix-standards.style,http://framework.zend.com/manual/en/coding-standard.html,http://symfony.com/doc/2.0/contributing/code/standards.html,http://www.ppi.io/docs/coding-standards.html,https://github.com/ezsystems/ezp-next/wiki/codingstandards,http://book.cakephp.org/2.0/en/contributing/cakephp-coding-conventions.html,https://github.com/UnionOfRAD/lithium/wiki/Spec%3A-Coding,http://drupal.org/coding-standards,http://code.google.com/p/sabredav/,http://area51.phpbb.com/docs/31x/coding-guidelines.html,https://docs.google.com/a/zikula.org/document/edit?authkey=CPCU0Us&hgd=1&id=1fcqb93Sn-hR9c0mkN6m_tyWnmEvoswKBtSc0tKkZmJA,http://www.chisimba.com,n/a,https://github.com/Respect/project-info/blob/master/coding-standards-sample.php,n/a,Object Calisthenics for PHP,http://doc.nette.org/en/coding-standard,http://flow3.typo3.org,https://github.com/propelorm/Propel2/wiki/Coding-Standards,http://developer.joomla.org/coding-standards.html
voting,yes,yes,yes,yes,yes,yes,yes,yes,yes,yes,yes,yes,yes,yes,yes,no,no,no,?,yes,no,yes
indent_type,4,4,4,4,4,tab,4,tab,tab,2,4,tab,4,4,4,4,4,4,tab,tab,4,tab
line_length_limit_soft,75,75,75,75,no,85,120,120,80,80,80,no,100,80,80,?,?,120,80,120,no,150
line_length_limit_hard,85,85,85,85,no,no,no,no,100,?,no,no,no,100,100,?,120,120,no,no,no,no
class_names,studly,studly,studly,studly,studly,studly,studly,studly,studly,studly,studly,lower_under,studly,lower,studly,studly,studly,studly,?,studly,studly,studly
class_brace_line,next,next,next,next,next,same,next,same,same,same,same,next,next,next,next,next,next,next,next,same,next,next
constant_names,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper
true_false_null,lower,lower,lower,lower,lower,lower,lower,lower,lower,upper,lower,lower,lower,upper,lower,lower,lower,lower,lower,upper,lower,lower
method_names,camel,camel,camel,camel,camel,camel,camel,camel,camel,camel,camel,lower_under,camel,camel,camel,camel,camel,camel,camel,camel,camel,camel
method_brace_line,next,next,next,next,next,same,next,same,same,same,same,next,next,same,next,next,next,next,next,same,next,next
control_brace_line,same,same,same,same,same,same,next,same,same,same,same,next,same,same,next,same,same,same,same,same,same,next
control_space_after,yes,yes,yes,yes,yes,no,yes,yes,yes,yes,no,yes,yes,yes,yes,yes,yes,yes,yes,yes,yes,yes
always_use_control_braces,yes,yes,yes,yes,yes,yes,no,yes,yes,yes,no,yes,yes,yes,yes,no,yes,yes,yes,yes,yes,yes
else_elseif_line,same,same,same,same,same,same,next,same,same,next,same,next,same,next,next,same,same,same,same,same,same,next
case_break_indent_from_switch,0/1,0/1,0/1,1/2,1/2,1/2,1/2,1/1,1/1,1/2,1/2,1/1,1/2,1/2,1/2,1/2,1/2,1/2,0/1,1/1,1/2,1/2
function_space_after,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no
closing_php_tag_required,no,no,no,no,no,no,no,no,yes,no,no,no,no,yes,no,no,no,no,no,yes,no,no
line_endings,LF,LF,LF,LF,LF,LF,LF,LF,?,LF,?,LF,LF,LF,LF,?,,LF,?,LF,LF,LF
static_or_visibility_first,static,?,static,either,either,either,visibility,visibility,visibility,either,static,either,?,visibility,?,?,either,either,visibility,visibility,static,?
control_space_parens,no,no,no,no,no,no,yes,no,no,no,no,no,no,yes,?,no,no,no,no,no,no,no
blank_line_after_php,no,no,no,no,yes,no,no,no,no,yes,yes,no,no,yes,?,yes,yes,no,yes,no,yes,no
class_method_control_brace,next/next/same,next/next/same,next/next/same,next/next/same,next/next/same,same/same/same,next/next/next,same/same/same,same/same/same,same/same/same,same/same/same,next/next/next,next/next/same,next/same/same,next/next/next,next/next/same,next/next/same,next/next/same,next/next/same,same/same/same,next/next/same,next/next/next
A.2. 問卷說明

indent_type:
縮進(jìn)類型. tab = "使用 tab 鍵一次", 2 or 4 = "空格的數(shù)量"

line_length_limit_soft:
每行字符數(shù)量的“軟”限制. ? = 不可辯或無作答, no 表示無限制.

line_length_limit_hard:
每行字符數(shù)量的“硬”限制. ? = 不可辯或無作答, no 表示無限制.

class_names:
類名稱的命名. lower = 只允許小寫字母, lower_under = 下滑線分隔的小寫字母, studly = StudlyCase 的駝峰風(fēng)格.

class_brace_line:
類的開始花括號(hào)是與 class 關(guān)鍵字在同一行或是在其的下一行?

constant_names:
類的常量如何命名? upper = 下劃線分隔的大寫字母.

true_false_null:
關(guān)鍵字 truefalse 以及 null 是全部小寫 lower 還是全部大寫 upper?

method_names:
方法名稱如何命名? camel = camelCase, lower_under = 下劃線分隔的小寫字母.

method_brace_line:
方法的開始花括號(hào)是與方法名在同一行還是在其的下一行?

control_brace_line:
控制結(jié)構(gòu)的開始花括號(hào)是與聲明在同一行還是在其的下一行?

control_space_after:
控制結(jié)構(gòu)關(guān)鍵詞后是否有空格?

always_use_control_braces:
控制結(jié)構(gòu)體是否都要被包含在花括號(hào)內(nèi)?

else_elseif_line:
elseelseif 與前面的結(jié)束花括號(hào)在同一行還是在其的下一行?

case_break_indent_from_switch:
switch 語(yǔ)句中的 casebreak 需要相對(duì) switch 縮進(jìn)多少次?

function_space_after:
函數(shù)調(diào)用語(yǔ)句中,函數(shù)名稱與變量列表的左括號(hào)間是否有空格?

closing_php_tag_required:
純 PHP 代碼的文件,是否需要 ?> 結(jié)束標(biāo)簽?

line_endings:
選擇哪種類型的行結(jié)束符?

static_or_visibility_first:
聲明一個(gè)靜態(tài)方法時(shí),static 是寫訪問修飾符前還是后?

control_space_parens:
控制結(jié)構(gòu)里,左括號(hào)后以及右括號(hào)前是否有空格?yes = if ( $expr ), no = if ($expr).

blank_line_after_php:
PHP 開始標(biāo)簽后,是否需要一個(gè)空行?

class_method_control_brace:
開始花括號(hào)在類、方法和控制結(jié)構(gòu)的位置統(tǒng)計(jì)。

A.3. 問卷統(tǒng)計(jì)結(jié)果
indent_type:
    tab: 7
    2: 1
    4: 14
line_length_limit_soft:
    ?: 2
    no: 3
    75: 4
    80: 6
    85: 1
    100: 1
    120: 4
    150: 1
line_length_limit_hard:
    ?: 2
    no: 11
    85: 4
    100: 3
    120: 2
class_names:
    ?: 1
    lower: 1
    lower_under: 1
    studly: 19
class_brace_line:
    next: 16
    same: 6
constant_names:
    upper: 22
true_false_null:
    lower: 19
    upper: 3
method_names:
    camel: 21
    lower_under: 1
method_brace_line:
    next: 15
    same: 7
control_brace_line:
    next: 4
    same: 18
control_space_after:
    no: 2
    yes: 20
always_use_control_braces:
    no: 3
    yes: 19
else_elseif_line:
    next: 6
    same: 16
case_break_indent_from_switch:
    0/1: 4
    1/1: 4
    1/2: 14
function_space_after:
    no: 22
closing_php_tag_required:
    no: 19
    yes: 3
line_endings:
    ?: 5
    LF: 17
static_or_visibility_first:
    ?: 5
    either: 7
    static: 4
    visibility: 6
control_space_parens:
    ?: 1
    no: 19
    yes: 2
blank_line_after_php:
    ?: 1
    no: 13
    yes: 8
class_method_control_brace:
    next/next/next: 4
    next/next/same: 11
    next/same/same: 1
    same/same/same: 6

轉(zhuǎn)自Github(PizzaLiu)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/21161.html

相關(guān)文章

  • PHP 標(biāo)準(zhǔn)規(guī)范

    摘要:標(biāo)準(zhǔn)規(guī)范簡(jiǎn)介是的簡(jiǎn)寫,由組織制定的規(guī)范,是開發(fā)的實(shí)踐標(biāo)準(zhǔn)。具體標(biāo)準(zhǔn)有有了統(tǒng)一編碼風(fēng)格規(guī)范,更有利于查看和學(xué)習(xí)各個(gè)框架或類庫(kù),不不需要每次都適應(yīng)新的編碼風(fēng)格。同時(shí)在開發(fā)團(tuán)隊(duì)內(nèi)部使用統(tǒng)一的編碼規(guī)范更有利于代碼審查版本控制團(tuán)隊(duì)內(nèi)部交流。 PHP 標(biāo)準(zhǔn)規(guī)范 PSR PSR 簡(jiǎn)介 PSR 是 PHP Standard Recommendations 的簡(jiǎn)寫,由 PHP FIG 組織制定的 PHP...

    FuisonDesign 評(píng)論0 收藏0
  • PHP-PSR 現(xiàn)代PHPer的開發(fā)規(guī)范

    摘要:的使命是實(shí)現(xiàn)框架之間的互操作性。個(gè)人和官方都認(rèn)為開發(fā)者應(yīng)該遵循更為嚴(yán)格的代碼標(biāo)準(zhǔn),在現(xiàn)代的生態(tài)系統(tǒng)中,風(fēng)格統(tǒng)一,可以更好的讓其他開發(fā)者理解代碼。記錄的消息用于診斷檢查和排除應(yīng)用中的操作穩(wěn)定性和性能方面的問題。 原文是在我自己博客中,小伙伴也可以點(diǎn)閱讀原文進(jìn)行跳轉(zhuǎn)查看,還有好聽的背景音樂噢~ ????PSR是PHP Standards Recommendation的簡(jiǎn)稱,意為PHP推薦標(biāo)...

    zebrayoung 評(píng)論0 收藏0
  • PHP代碼修正之CodeSniffer

    摘要:它包含兩類腳本,和地址腳本對(duì)文件定義了一系列的代碼規(guī)范通常使用官方的代碼規(guī)范標(biāo)準(zhǔn),比如的,能夠檢測(cè)出不符合代碼規(guī)范的代碼并發(fā)出警告或報(bào)錯(cuò)可設(shè)置報(bào)錯(cuò)等級(jí)。腳本能自動(dòng)修正代碼格式上不符合規(guī)范的部分。 Last-Modified: 2019年5月10日13:59:27 參考鏈接 PHP開發(fā)規(guī)范之使用phpcbf腳本自動(dòng)修正代碼格式 在PhpStorm中使用PSR2編碼規(guī)范phpcbf腳本自...

    khs1994 評(píng)論0 收藏0
  • PHPPSR簡(jiǎn)要規(guī)范

    摘要:是一系列關(guān)于開發(fā)的規(guī)范,分有好幾個(gè)版本,自己學(xué)的也較為膚淺,但還是希望能時(shí)常查看規(guī)范,為了方便記憶和遵循,我把關(guān)鍵詞為必須的撿拾出來,做個(gè)簡(jiǎn)單地必要規(guī)范的記錄。所有文件必須使用作為行的結(jié)束符。 PSR是一系列關(guān)于PHP開發(fā)的規(guī)范,分有好幾個(gè)版本,自己學(xué)的也較為膚淺,但還是希望能時(shí)常查看規(guī)范,為了方便記憶和遵循,我把關(guān)鍵詞為必須的撿拾出來,做個(gè)簡(jiǎn)單地必要規(guī)范的記錄。(就是個(gè)搬磚的。。。)...

    Steve_Wang_ 評(píng)論0 收藏0
  • 使用PHPCS+GIT鉤子保障團(tuán)隊(duì)開發(fā)中代碼風(fēng)格一致性實(shí)踐

    摘要:集成經(jīng)過上面的操作,代碼格式化的規(guī)則基本與的規(guī)則基本一致了,但也有一小部分不一致,所以后面還要用到和。 一、背景 筆者在6月份加入新團(tuán)隊(duì),新團(tuán)隊(duì)這邊剛組建起來,基礎(chǔ)一些東西還處于待完善狀態(tài),比如筆者組內(nèi)同學(xué)約定使用PSR-2的編碼風(fēng)格規(guī)范,但是并不是所有人都嚴(yán)格按照PSR-2來提交代碼。 最大的原因就是口頭的約束力極為有限,而團(tuán)隊(duì)中大家使用的編輯器不統(tǒng)一,有使用phpstorm,也有使...

    wums 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<