HP注釋規(guī)范
注釋在寫(xiě)代碼的過(guò)程中非常重要,好的注釋能讓你的代碼讀起來(lái)更輕松,在寫(xiě)代碼的時(shí)候一定要注意注釋的規(guī)范。
“php是一門(mén)及其容易入門(mén)的語(yǔ)言,剛?cè)腴T(mén)的新手不到幾分鐘的時(shí)間可能就會(huì)用echo打印出一個(gè)hello world !但是他是真正的程序員嗎?怎么來(lái)定義程序員呢?如果想真正成為一個(gè)程序員,那么就必須遵循一套程序書(shū)寫(xiě)規(guī)范,”
我們經(jīng)常編寫(xiě)一些函數(shù),但是這些函數(shù)可能也只有自己能看得懂,甚至過(guò)一段時(shí)間自己也不認(rèn)識(shí)自己寫(xiě)的了,那么怎么辦呢?最好的辦法當(dāng)然是給給自己的代碼加上注釋。
我們可能熟悉很多注釋的寫(xiě)法C pear PHP注釋等等,但我們用到的主要還是# 和/**/。
#是一種簡(jiǎn)短的注釋方法??赡苣銜?huì)用它去注釋一個(gè)變量,或者調(diào)用的一個(gè)方法。/**/我們可能還在用它去注釋掉一大段代碼,但是怎么用它去標(biāo)準(zhǔn)的注釋一個(gè)函數(shù)呢?
/**
* @name 名字
* @abstract 申明變量/類(lèi)/方法
* @access 指明這個(gè)變量、類(lèi)、函數(shù)/方法的存取權(quán)限
* @author 函數(shù)作者的名字和郵箱地址
* @category 組織packages
* @copyright 指明版權(quán)信息
* @const 指明常量
* @deprecate 指明不推薦或者是廢棄的信息
* @example 示例
* @exclude 指明當(dāng)前的注釋將不進(jìn)行分析,不出現(xiàn)在文擋中
* @final 指明這是一個(gè)最終的類(lèi)、方法、屬性,禁止派生、修改。
* @global 指明在此函數(shù)中引用的全局變量
* @include 指明包含的文件的信息
* @link 定義在線(xiàn)連接
* @module 定義歸屬的模塊信息
* @modulegroup 定義歸屬的模塊組
* @package 定義歸屬的包的信息
* @param 定義函數(shù)或者方法的參數(shù)信息
* @return 定義函數(shù)或者方法的返回信息
* @see 定義需要參考的函數(shù)、變量,并加入相應(yīng)的超級(jí)連接。
* @since 指明該api函數(shù)或者方法是從哪個(gè)版本開(kāi)始引入的
* @static 指明變量、類(lèi)、函數(shù)是靜態(tài)的。
* @throws 指明此函數(shù)可能拋出的錯(cuò)誤異常,極其發(fā)生的情況
* @todo 指明應(yīng)該改進(jìn)或沒(méi)有實(shí)現(xiàn)的地方
* @var 定義說(shuō)明變量/屬性。
* @version 定義版本信息
*/
注釋的信息很全面,可能有很多我們用不到,紅色部分是我們經(jīng)常用到的。
示例:php里面常見(jiàn)的幾種注釋方式:
1.文件的注釋?zhuān)榻B文件名,功能以及作者版本號(hào)等信息
/**
* 文件名簡(jiǎn)單介紹
*
* 文件功能
* @author 作者
* @version 版本號(hào)
* @date 2020-02-02
*/
文件頭部模板
/**
*這是一個(gè)什么文件
*
*此文件程序用來(lái)做什么的(詳細(xì)說(shuō)明,可選。)。
* @author richarde421083458@163.com>
* @version $Id$
* @since 1.0
*/
2.類(lèi)的注釋?zhuān)?lèi)名及介紹
/**
* 類(lèi)的介紹
*
* 類(lèi)的詳細(xì)介紹(可選)
* @author 作者
* @version 版本號(hào)
* @date 2020-02-02
*/
/**
* 類(lèi)的介紹
*
* 類(lèi)的詳細(xì)介紹(可選。)。
* @author richarde421083458@163.com>
* @since 1.0
*/
class Test
{
}
3.函數(shù)的注釋?zhuān)瘮?shù)的作用,參數(shù)介紹以及返回類(lèi)型
/**
* 函數(shù)的含義說(shuō)明
*
* @access public
* @author 作者
* @param mixed $arg1 參數(shù)一的說(shuō)明
* @param mixed $arg2 參數(shù)二的說(shuō)明
* @return array 返回類(lèi)型
* @date 2020-02-02
*/
函數(shù)頭部注釋
/**
* some_func
* 函數(shù)的含義說(shuō)明
*
* @access public
* @param mixed $arg1 參數(shù)一的說(shuō)明
* @param mixed $arg2 參數(shù)二的說(shuō)明
* @param mixed $mixed 這是一個(gè)混合類(lèi)型
* @since 1.0
* @return array
*/
public function thisIsFunction($string, $integer, $mixed) {return array();}
程序代碼注釋
1. 注釋的原則是將問(wèn)題解釋清楚,并不是越多越好。
2. 若干語(yǔ)句作為一個(gè)邏輯代碼塊,這個(gè)塊的注釋可以使用/* */方式。
3. 具體到某一個(gè)語(yǔ)句的注釋?zhuān)梢允褂眯形沧⑨專(zhuān)?/。
/* 生成配置文件、數(shù)據(jù)文件。*/
$this->setConfig();
$this->createConfigFile(); //創(chuàng)建配置文件
$this->clearCache(); // 清除緩存文件
$this->createDataFiles(); // 生成數(shù)據(jù)文件
$this->prepareProxys();
$this->restart();
PHP命名規(guī)范
1.目錄和文件
目錄使用小寫(xiě)+下劃線(xiàn)
類(lèi)庫(kù),函數(shù)文件統(tǒng)一以.php為后綴
類(lèi)的文件名均以命名空間定義,并且命名空間的路徑和類(lèi)庫(kù)文件所在路徑一致
類(lèi)文件采用駝峰法命名(首字母大寫(xiě)),其他文件采用小寫(xiě)+下劃線(xiàn)命名
類(lèi)名和類(lèi)文件名保持一致,統(tǒng)一采用駝峰法(首字母大寫(xiě))
2.函數(shù)和類(lèi),屬性命名
類(lèi)的命名采用駝峰法(首字母大寫(xiě)),例如 User、UserType,默認(rèn)不需要添加后綴,例如UserController應(yīng)該直接命名為User
函數(shù)的命名使用小寫(xiě)字母和下劃線(xiàn)(小寫(xiě)字母開(kāi)頭)的方式,例如 get_client_ip
方法的命名使用駝峰法(首字母小寫(xiě)),例如 getUserName(如果方法有返回值,那么目前習(xí)慣上將首字母用小寫(xiě)的屬性類(lèi)型,如s(string),i(int),f(float),b(boolean),a(array)等)
屬性的命名使用駝峰法(首字母小寫(xiě)),例如 tableName、instance(目前習(xí)慣上將首字母用小寫(xiě)的屬性類(lèi)型,如s(string),i(int),f(float),b(boolean),a(array)等)
以雙下劃線(xiàn)“__”打頭的函數(shù)或方法作為魔法方法,例如 __call 和 __autoload
3.常量和配置
常量以大寫(xiě)字母和下劃線(xiàn)命名,例如 APP_PATH和 THINK_PATH
配置參數(shù)以小寫(xiě)字母和下劃線(xiàn)命名,例如 url_route_on 和url_convert
4.數(shù)據(jù)表盒字段
數(shù)據(jù)表和字段采用小寫(xiě)加下劃線(xiàn)方式命名,并注意字段名不要以下劃線(xiàn)開(kāi)頭,例如 think_user 表和 user_name字段,不建議使用駝峰和中文作為數(shù)據(jù)表字段命名。
您可能感興趣的文章:- php語(yǔ)法檢查的方法總結(jié)
- PHP基本語(yǔ)法實(shí)例總結(jié)
- PHP學(xué)習(xí)的技巧和學(xué)習(xí)的要素總結(jié)
- php技巧小結(jié)【推薦】
- php語(yǔ)法技巧代碼實(shí)例