国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php編碼規(guī)范

2019-11-06 08:27:53
字體:
供稿:網(wǎng)友

為什么需要編碼規(guī)范? 為了提高工作效率,保證開發(fā)的有效性和合理性。

為了提高代碼可讀性和可重復(fù)利用性,從而節(jié)約溝通成本。

本文主要參考了 PEAR 規(guī)范,并進行適當(dāng)?shù)暮喕驼{(diào)整。

主要介紹,命名規(guī)范、注釋規(guī)范、代碼風(fēng)格。

文件標(biāo)記 所有php文件,代碼標(biāo)記均使用完整的PHP標(biāo)簽,不建議使用短標(biāo)簽。

<?php echo 'Hello world';?><? //短標(biāo)簽不推薦 echo 'Hello world';?>

文件格式 文件編碼 為無 BOM 的 UTF-8。

??純PHP類文件,文件最后 ?> 要省略。

TextMate 在 “文件編碼” 中,選擇 “UTF-8(推薦)” 在 “換行符” 中,選擇 “LF(推薦)”

文件命名 程序的文件名和目錄名都采用有意義的英文命名。

不使用拼音或無意義的字母。

只允許出現(xiàn)字母、數(shù)字、下劃線、中劃線字符。

多個詞之間使用駝峰命名法。

//類統(tǒng)一采用 demoTest.class.php

//接口統(tǒng)一采用 demoTest.interface.php

//其他按照各自的方式 demoTest.{style}.php

//其他文件參照 demoTest.inc.php demo.lib.php

文件目錄結(jié)構(gòu)命名 因使用的框架不同,可根據(jù)實際情況考慮目錄結(jié)構(gòu)。

全局變量命名 $_GLOBAL[‘startTime‘]

or

$_GLOBAL[‘g_startTime_’] 兩邊都有“_”,中間使用駝峰命名。

普通變量命名 數(shù)據(jù)類型 命名規(guī)范 字符串 strMyStr數(shù)組arrMyArray 對象 objMyObject布爾值flagMyFlag 采用駝峰命名,建議在變量前加上變量的類型作為前綴。

變量應(yīng)該以名詞為準,盡量避免使用常用關(guān)鍵字或存在模糊意義的單詞。

私有變量,建議加上前綴”_”。

函數(shù)命名 函數(shù)名即要有意義,也要盡量縮寫,一看就知道干什么。

建議單用動詞或動詞加形容詞的格式命名。

私有方法,建議在加上前綴”_”。

//例如 PRivate function _showMsg() { //方法體 } 不建議下面這樣的函數(shù)名:

public function getAdvertisementByCategoryIdAndPositionIdAndScheduleId() { //方法體 } 可修改為:

public function getAd(categoryid,positionid, $scheduleid) { //方法體 } 習(xí)慣與約定 為了減少變量的長度,在不影響可讀性的前提下,習(xí)慣對變量進行縮寫。

全稱 縮寫 image img string str database db array arr count cnt message msg passWord passwd 或 pwd … … 以上規(guī)范可用于,PHP代碼、javaScript代碼、數(shù)據(jù)庫表字段命名等。

文件注釋 /** * 文件的簡述 * * PHP Version 6(PHP版本) * * @category 可以寫部門(英文) * @package 可以寫模塊(英文) * @author test test@company.com * @time 2017/02/02 11:48 * @copyright 2017 公司名稱 * @license 公司網(wǎng)址 license * @link test@QQ.com(作者聯(lián)系方式) */ 類注釋 /** * 類的簡述 * * @category 可以寫部門(英文) * @package 可以寫模塊(英文) * @author test test@company.com * @license 公司網(wǎng)址 license * @link test@qq.com(作者聯(lián)系方式) */ 方法注釋 /** * 方法的簡述 * @param array myArray參數(shù)解釋?@paramstringmyString 參數(shù)解釋 * @return array(返回數(shù)據(jù)類型) */ 代碼注釋 注釋寫在被注釋代碼的前面,而不是后面,但對于單行語句,注釋可寫在語句末尾。

對于大段注釋,使用 / / 進行注釋。

注釋不宜太多,大家能看的懂得行不必注釋。

代碼注釋應(yīng)該描述為什么,而不是做什么。

不要為了注釋而注釋。

標(biāo)注的使用 IDE 支持一些特殊注釋,可以列出整個項目中的特殊注釋,方便后期維護和代碼檢查。

例如:

//@fixMe 表示需要修復(fù)項。

//@todo 表示需要完善的地方。

代碼風(fēng)格 盡量保證程序語句一行就是一句。

盡量不要使一行的代碼過長,一般控制在80個字符之間。

如果一行代碼太長,請使用類似 “.=” 的方式斷行書寫。

類、方法的做大括號需要獨占一行。

其他控制語句等大括號和表達式同一行,并空格隔開。

class Demo{ public function index() { for ($i = 1, $i < 10, $i++) { } } public function test() { if ($expr1) { //if body } elseif ($expr2) { //elseif body } else { //else body } foreach ($data as $key => $value) { //foreach body } switch ($expr1) { case 0: echo '零'; break; case 1: echo '一'; break; default: echo 'null'; break; } //盡量同等意義的變量等號對其 $strName = $arrUserInfo['name']; $strAge = $arrUserInfo['age']; $strBirthday = $arrUserInfo['birthday']; $strHobby = $arrUserInfo['hobby']; }}

調(diào)試代碼 不要在你的提交的代碼中包含調(diào)試代碼,就算是注釋掉了也不行。

像 var_dump() 、 print_r() 、 die() 和 exit() 這樣的函數(shù)。

PHP錯誤 運行代碼時不應(yīng)該出現(xiàn)任何錯誤信息,并不是把警告和提示信息關(guān)掉來滿足這一點。

例如,絕不要直接訪問一個你沒設(shè)置過的變量,你應(yīng)該先使用 isset() 函數(shù)判斷下。

最后 最后說的是,本規(guī)范不是強制,也不是標(biāo)準。

“約定大于規(guī)范”,如果有的規(guī)范太死板,不適應(yīng)您的團隊,您可以不采用,按照您自己的規(guī)范即可。

推薦PHP開發(fā)IDE:PHPStorm 。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 建昌县| 婺源县| 呼和浩特市| 高雄市| 古田县| 泗洪县| 苏州市| 沾益县| 陵水| 长丰县| 高密市| 惠来县| 那曲县| 视频| 伊春市| 历史| 钦州市| 河源市| 平南县| 湄潭县| 平潭县| 南投市| 舒城县| 大理市| 德惠市| 库伦旗| 遂川县| 襄汾县| 珲春市| 巫山县| 黔东| 怀安县| 德格县| 贵州省| 长宁区| 称多县| 天镇县| 横峰县| 大洼县| 上高县| 姜堰市|