成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

我的php編碼規(guī)范

RiverLi / 3636人閱讀

摘要:為什么我們要培養(yǎng)自己的編碼規(guī)范我們寫代碼的時(shí)候,一個(gè)好的編碼規(guī)范,對(duì)我們來說能夠起到很多意向不到的效果。至少會(huì)有一下的好處提高我們的編碼效率。

為什么我們要培養(yǎng)自己的編碼規(guī)范?

我們寫代碼的時(shí)候,一個(gè)好的編碼規(guī)范,對(duì)我們來說能夠起到很多意向不到的效果。至少會(huì)有一下的好處:
1、提高我們的編碼效率。整齊劃一的代碼方便我們進(jìn)行復(fù)制粘貼嘛!
2、提高代碼的可讀性。
3、顯示我們專業(yè)。別人看到了我們的代碼,發(fā)現(xiàn)整個(gè)代碼的書寫流程都整齊劃一,瞬間逼格就上去了!
4、方便團(tuán)隊(duì)協(xié)同工作。大家使用同一的規(guī)范,這樣就消除了五花八分的書寫方式,同一協(xié)調(diào)!

編碼規(guī)范包含兩大塊,代碼規(guī)范和注釋規(guī)范

其實(shí)我們所寫的php腳本,其實(shí)也就是由兩大塊組成的,即對(duì)代碼的書寫、對(duì)代碼的注釋!不同的框架,甚至不同的公司,對(duì)這方面都會(huì)有所不同,這里只是已將之言,僅僅是對(duì)自己的書寫規(guī)范進(jìn)行一個(gè)總結(jié)!希望能對(duì)其他的朋友以啟示

1、代碼的書寫規(guī)范

文件夾的命名:
文件夾同一使用小寫字母。如存放控制器的文件夾,直接命名為controller即可

文件的命名:
如果是類文件的話,那么文件的命名應(yīng)該同類名稱保持一致,統(tǒng)一使用大駝峰。如Session.class.php , 對(duì)應(yīng)類名稱為Session,
如果是普通的工具腳本,那么統(tǒng)一使用小駝峰,如common.php

類名稱的命名:
類名稱同一使用大駝峰,Cookie類

方法名的命名:
統(tǒng)一使用小駝峰,一般使用 動(dòng)詞 + 名次 的形式來描述該方法的功能,如sendMessage,發(fā)送短信。
在面向?qū)ο笾?,遵循同樣的?guī)則,但是個(gè)別地方有所區(qū)別:
public getUserName()
protected _getTotalAmount()
private _setBlanceAmount()

變量的命名規(guī)范:
關(guān)于變量,我們需要多說幾點(diǎn):
1、無論在面向?qū)ο筮€是非面向?qū)ο蟮恼Z法中,變量統(tǒng)一使用小駝峰,如:$workYears。
但是在面向?qū)ο笾杏钟兴煌琾ublic 、 protected 、 private ,protected或者private屬性的時(shí)候,前面加上了 _ 作為區(qū)別

public $startPosition = 1;

protected $_salaryAmount =1000; 

private $_sex = "formale";

2、如果是常量的話,統(tǒng)一使用大寫,中間使用下劃線進(jìn)行分割。

define("CURRENT_SCRIPT", "index.php");

const TRANSACTION_TYPE = "income";

3、全局變量,使用大駝峰,前綴加上 _ ,所有的單詞首字母大寫。因?yàn)橹酪粋€(gè)變量的作用域是非常重要的,所以局部變量和全局變量應(yīng)該很明顯的進(jìn)行分開!

$_System_Config;

$_Root_Path;

縮進(jìn)符
關(guān)于編碼的縮進(jìn)符號(hào),我們統(tǒng)一使用制表符縮進(jìn)!也許有的人會(huì)問為什么不適用空格縮進(jìn)的呢?
原因很簡(jiǎn)單,大部分的編輯器都支持制表符等于多少個(gè)空格,而使用空格就沒得調(diào)了!

運(yùn)算符號(hào)
所有的兩元運(yùn)算符號(hào),都應(yīng)該前后使用空格進(jìn)行
$name = "zero";
$age > 18 ? "adult" : "children";

常見的流程語句規(guī)劃
我們約定,所有的流程語句的花括號(hào)都多帶帶占據(jù)一行。理由:如果遇到較為復(fù)雜的業(yè)務(wù)邏輯,花括號(hào)會(huì)出現(xiàn)很多的嵌套,這樣一來我們會(huì)混淆個(gè)個(gè)對(duì)應(yīng)的花括號(hào)!
1、分支語句

if($age >= 18 && $age <= 30) 
{
    echo "young man";
}
else if($age > 30 && $age <= 60)
{
    echo "middle aged";
}
else
{
    echo "old man";
}

//下面這段代碼高手我們一個(gè)問題,在if語句中,即使在可以不要花括號(hào)的情況下,花括號(hào)也是要寫上的
if($age > 60)
{
    echo "I am very old";
}

switch($status)
{
    case "forbiden":
        echo "login forbidden";
        break;
       
    case "normal":
        echo "login in";
        break;
        
    default:
        echo "status is wrong" :
        break;
}

2、循環(huán)語句

while($condition)
{
    statesments......;
}

foreach($arrayList as $arrayKey => $arrayItem)
{
    states......;
}
do
{
    statements......;    
}
while($condition)

for($start; condition; changenumber)
{
    statements......;
}

2、注釋的書寫規(guī)范

很多人說好的代碼是不需要注釋的,其實(shí),個(gè)人認(rèn)為這是一句很扯淡的話(也可能他是對(duì)的,除非整個(gè)團(tuán)隊(duì)就他一個(gè)人,他包辦了一切,不用看別人的代碼)。

個(gè)人的觀點(diǎn)是:多寫注釋,無論是對(duì)團(tuán)隊(duì)的其他人,還是對(duì)自己都是非常友好的!

根據(jù)個(gè)人的經(jīng)驗(yàn)來看,注釋至少有以下幾個(gè)作用:
1、有利于提高代碼的可讀性,畢竟讀你的注釋要比讀你的代碼要容易的多!
2、有利于規(guī)劃自己的代碼布局!之所以這么說,是因?yàn)楹痛a注釋的種類有關(guān)?!坝欣诖a的布局”,這種看著有點(diǎn)懸的事,光說是說不明白的,我們需要實(shí)實(shí)在在的例子做支撐!
3、由于我們的注釋規(guī)范是按照phpdocumentor的要求,所以通過這個(gè)工具,還可以生成一份對(duì)代碼的總體說明,相當(dāng)于一個(gè)使用說明書!g

代碼注釋的種類
1、塊注釋
塊注釋,個(gè)人認(rèn)為主要用在了三個(gè)地方。對(duì)php腳本的描述、對(duì)一個(gè)大的功能模塊的描述、在一行之內(nèi)不能寫完注釋的時(shí)候,也應(yīng)該放在塊注釋中

2、行注釋
行注釋,個(gè)人認(rèn)為他是配合塊注釋進(jìn)行工作的!一般用于描述一個(gè)大的功能模塊的具體細(xì)節(jié)!

實(shí)戰(zhàn)的案例
關(guān)于phpdocumentor語法的具體使用細(xì)節(jié),這里就不多說了,官網(wǎng)上說的再清楚不過了

從上面的例子中我們可以看一下代碼的布局大致是怎么回事,但是還需要我們?cè)趯?shí)踐中慢慢摸索

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/21130.html

相關(guān)文章

  • 看吧,這就是現(xiàn)代化 PHP 該有的樣子

    摘要:這大概是我沒有及早使用,或多數(shù)開發(fā)者流連現(xiàn)狀造成的。它就是,一個(gè)的框架。行為驅(qū)動(dòng)開發(fā)是來自測(cè)試驅(qū)動(dòng)開發(fā)的開發(fā)過程。簡(jiǎn)單的說,它就是經(jīng)??赡芤惶鞄状螌⑿K代碼整合進(jìn)基礎(chǔ)代碼當(dāng)中的行為。 showImg(https://segmentfault.com/img/remote/1460000013769815); 這是一篇社區(qū)協(xié)同翻譯的文章,已完成翻譯,更多信息請(qǐng)點(diǎn)擊?協(xié)同翻譯介紹?。 文章...

    Tangpj 評(píng)論0 收藏0
  • 這就是現(xiàn)代php該有的樣子(二)

    摘要:所以,是幫助您創(chuàng)建您的項(xiàng)目的測(cè)試框架,單元測(cè)試。行為驅(qū)動(dòng)開發(fā)是一個(gè)來自測(cè)試驅(qū)動(dòng)開發(fā)的開發(fā)過程。這種語言被稱為,是用來描述被測(cè)試的預(yù)期的行為。代碼將被測(cè)試并且沒有異常。這些標(biāo)準(zhǔn)提出了現(xiàn)代編碼風(fēng)格。 本文來自medium----原文鏈接; 歡迎作客我們的php&Laravel學(xué)習(xí)群:109256050 你需要開始使用測(cè)試 這是我每天對(duì)自己說的話。像很多人一樣,我不會(huì)像TDD所建議的那樣測(cè)試...

    fevin 評(píng)論0 收藏0
  • PHP 標(biāo)準(zhǔn)規(guī)范中文版發(fā)布

    摘要:本文經(jīng)授權(quán)轉(zhuǎn)自社區(qū)文檔頁面項(xiàng)目團(tuán)隊(duì)在定制編碼規(guī)范,發(fā)現(xiàn)原本的已經(jīng)有點(diǎn)年久失修。并且沒有遵循中文文案排版指北規(guī)范在書寫文檔,而我們團(tuán)隊(duì)的文案統(tǒng)一遵循排版指北的標(biāo)準(zhǔn),猶豫之下就自己的一個(gè),并翻譯了緩存接口還有大部分的消息接口規(guī)范。 本文經(jīng)授權(quán)轉(zhuǎn)自 PHPHub 社區(qū) showImg(https://segmentfault.com/img/remote/1460000006780523);...

    CloudwiseAPM 評(píng)論0 收藏0
  • Travis CI 持續(xù)集成服務(wù)構(gòu)建 Composer 類庫簡(jiǎn)明教程

    摘要:創(chuàng)建帳號(hào)提供的是持續(xù)集成服務(wù),簡(jiǎn)稱。在這里引入的原因是我們的項(xiàng)目需要使用服務(wù)進(jìn)行持續(xù)集成和測(cè)試,當(dāng)然你也可以替換成別的單元測(cè)試工具。創(chuàng)建單元測(cè)試用例是單元測(cè)試類庫家族中的一員,使用的一個(gè)主要目的是為我們的模塊創(chuàng)建單元測(cè)試用例。 本文首發(fā)于 Travis CI 持續(xù)集成服務(wù)構(gòu)建 Composer 類庫簡(jiǎn)明教程,轉(zhuǎn)載請(qǐng)注明出處! 在項(xiàng)目開發(fā)過程中,編碼工作只是軟件開發(fā)整個(gè)過程中的一小部分環(huán)...

    DoINsiSt 評(píng)論0 收藏0
  • atom和phpcs

    摘要:的編碼規(guī)范雖然沒有像那樣集中,有這樣的統(tǒng)一標(biāo)準(zhǔn)見我的這篇文章,但也是有規(guī)律可循的。最簡(jiǎn)單的莫過于直接使用,但是真的實(shí)在太弱了,所以目前業(yè)界比較流行的是使用,簡(jiǎn)稱。在代碼規(guī)范方面,沒有所謂的個(gè)人喜好,而只有項(xiàng)目規(guī)范。所以目前以及都開始遵循。 php的編碼規(guī)范雖然沒有像javascript那樣集中,有eslint這樣的統(tǒng)一標(biāo)準(zhǔn)(見我的這篇文章),但也是有規(guī)律可循的。最簡(jiǎn)單的莫過于直接使用p...

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

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

0條評(píng)論

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