亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

培養自己的php編碼規范

2020-03-22 17:40:26
字體:
來源:轉載
供稿:網友
為什么我們要培養自己的編碼規范?我們寫代碼的時候,一個好的編碼規范,對我們來說能夠起到很多意向不到的效果。至少會有一下的好處:
1、提高我們的編碼效率。整齊劃一的代碼方便我們進行復制粘貼嘛!
2、提高代碼的可讀性。
3、顯示我們專業。別人看到了我們的代碼,發現整個代碼的書寫流程都整齊劃一,瞬間逼格就上去了!
4、方便團隊協同工作。大家使用同一的規范,這樣就消除了五花八分的書寫方式,同一協調!編碼規范包含兩大塊,代碼規范和注釋規范其實我們所寫的php腳本,其實也就是由兩大塊組成的,即對代碼的書寫、對代碼的注釋!不同的框架,甚至不同的公司,對這方面都會有所不同,這里只是已將之言,僅僅是對自己的書寫規范進行一個總結!希望能對其他的朋友以啟示1、代碼的書寫規范文件夾的命名:
文件夾同一使用小寫字母。如存放控制器的文件夾,直接命名為controller即可文件的命名:
如果是類文件的話,那么文件的命名應該同類名稱保持一致,統一使用大駝峰。如Session.html' target='_blank'>class.php , 對應類名稱為Session,
如果是普通的工具腳本,那么統一使用小駝峰,如common.php類名稱的命名:
類名稱同一使用大駝峰,Cookie類方法名的命名:
統一使用小駝峰,一般使用 動詞 + 名次 的形式來描述該方法的功能,如sendMessage,發送短信。
面向對象中,遵循同樣的規則,但是個別地方有所區別:
public getUserName()protected _getTotalAmount()private _setBlanceAmount()變量的命名規范:
關于變量,我們需要多說幾點:
1、無論在面向對象還是非面向對象的語法中,變量統一使用小駝峰,如:$workYears。
但是在面向對象中又有所不同,public 、 protected 、 private ,protected或者private屬性的時候,前面加上了 _ 作為區別public $startPosition = 1;protected $_salaryAmount =1000;private $_sex = 'formale';2、如果是常量的話,統一使用大寫,中間使用下劃線進行分割。define('CURRENT_SCRIPT', 'index.php');const TRANSACTION_TYPE = 'income';3、全局變量,使用大駝峰,前綴加上 _ ,所有的單詞首字母大寫。因為知道一個變量的作用域是非常重要的,所以局部變量和全局變量應該很明顯的進行分開!$_System_Config;$_Root_Path;
縮進符
關于編碼的縮進符號,我們統一使用制表符縮進!也許有的人會問為什么不適用空格縮進的呢?
原因很簡單,大部分的編輯器都支持制表符等于多少個空格,而使用空格就沒得調了!運算符號
所有的兩元運算符號,都應該前后使用空格進行
$name = 'zero';$age 18 'adult' : 'children';常見的流程語句規劃
我們約定,所有的流程語句的花括號都單獨占據一行。理由:如果遇到較為復雜的業務邏輯,花括號會出現很多的嵌套,這樣一來我們會混淆個個對應的花括號!
1、分支語句if($age = 18 && $age = 30) echo 'young man';else if($age 30 && $age = 60) echo 'middle aged'; echo 'old man';//下面這段代碼高手我們一個問題,在if語句中,即使在可以不要花括號的情況下,花括號也是要寫上的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、循環語句while($condition) statesments......;foreach($arrayList as $arrayKey = $arrayItem) states......; statements......; while($condition)
2、注釋的書寫規范很多人說好的代碼是不需要注釋的,其實,個人認為這是一句很扯淡的話(也可能他是對的,除非整個團隊就他一個人,他包辦了一切,不用看別人的代碼)。個人的觀點是:多寫注釋,無論是對團隊的其他人,還是對自己都是非常友好的!根據個人的經驗來看,注釋至少有以下幾個作用:
1、有利于提高代碼的可讀性,畢竟讀你的注釋要比讀你的代碼要容易的多!
2、有利于規劃自己的代碼布局!之所以這么說,是因為和代碼注釋的種類有關?!坝欣诖a的布局”,這種看著有點懸的事,光說是說不明白的,我們需要實實在在的例子做支撐!
3、由于我們的注釋規范是按照phpdocumentor的要求,所以通過這個工具,還可以生成一份對代碼的總體說明,相當于一個使用說明書!g代碼注釋的種類
1、塊注釋
塊注釋,個人認為主要用在了三個地方。對php腳本的描述、對一個大的功能模塊的描述、在一行之內不能寫完注釋的時候,也應該放在塊注釋中2、行注釋
行注釋,個人認為他是配合塊注釋進行工作的!一般用于描述一個大的功能模塊的具體細節!實戰的案例
關于phpdocumentor語法的具體使用細節,這里就不多說了,網址上說的再清楚不過了從上面的例子中我們可以看一下代碼的布局大致是怎么回事,但是還需要我們在實踐中慢慢摸索下面附上一些php的編程規范,給大家參考下一、文件標記:1.所有php文件,其代碼標記均采用完整php標簽,不建議使用短標簽(短標簽容易和xml混淆,php從5.4開始默認不支持短標記)。2.對于只有php的代碼文件,建議省略結尾處的‘ '。這是為了防止多余的空格或其他字符影 響到代碼。二、文件和目錄命名1.程序文件名和目錄名均采用有意義的英文命名,不使用拼音和無意義的字母,只允許出現字母、數字、下劃線和中劃線字 符,同時必須以‘.php'結尾(模板文件除外),多個詞間使用駝峰命名法。 例://類統一采用:DemoTest.class.php //接口統一采用:DemoTest.interface.php //其他按照各自的方式:demoTest.{style}.php三、文件目錄結構規范的目錄結構有助于團隊協作開發和后期維護?!猘pp //獨立的應用——class //單個的類文件,共用的類文件——conf/inc //配置文件或目錄——data //數據文件或目錄——doc //程序相關文檔——htdocs //document_root——images //所有圖片文件存放路徑——css //css文件——js //js文件——lib //共用類庫——template //模板文件——tmp //臨時文件目錄——cache //緩存文件——session //SESSION文件——template_c //編譯后的模板文件——other——upload //上傳文件——manage //后臺管理文件目錄四、命名規范1.變量命名:php中變量區分大小寫,一個有效的變量名由數字、字母或下劃線開頭,后面跟任意數量的字母、數字、下劃線。 a)程序整體以駝峰命名法,以小寫字母開始,同時命名要有意義。(function displayName()) b)PHP全局變量鍵值兩邊都有‘_',中間用駝峰命名法命名。($_GLOBAL['_beginTime_']) c)普通變量整體采用駝峰命名法,建議在變量前加表示類型的前綴。不確定類型的以大寫字符開頭。 d)函數名要盡量有意義,盡量縮寫。2.類及接口命名: a)以大寫字母開頭。 b)多個單詞組成的變量名,單詞之間不用間隔,各個單詞首字母大寫。 c)類名與類文件名保持一致。 d)程序中所有的類名唯一。 e)抽象類應以Abstract開頭。 接口命名規則: i)采用和類相同的命名規則,但在其命名前加‘i'字符,表示接口。 ii)盡量保持和實現它的類名一致。3.數據庫命名:在數據庫相關命名中,一律不出現大寫。 a)表名均使用小寫字母。 b)表名使用同一的前綴且前綴不能為空。 c)對于多個單詞組成的表名,使用‘_'間隔。 d)表字段命名規則。 i)全部使用小寫字母。 ii)多個單詞不用下劃線分割。 iii)給常用字段加上表名首字母做前綴。 iv)避免使用關鍵字和保留字。五、注釋規范1.程序注釋:寫在代碼前面而不是后面,單行代碼按照習慣寫在代碼尾部;大段注釋采用/**/的方式,通常為文件或函數的頂部,代碼內部使用'//';注釋不宜太多;代碼注釋應該描述為什么而不是做什么,給代碼閱讀者提供最主要的信息。2.文件注釋:文件注釋一般放在文件的頂部,包括本程序的描述、作者、項目名稱、文件名稱、時間日期、版本信息、重要的使用說明(類的調用,注意事項等)。版本更改要修改版本號,并加上mofify注釋。3.類和接口注釋:按照一般的習慣,一個文件只包含一個類。4.方法和函數注釋:方法和函數的注釋寫在前面,通常需要表明信息的主要可見性、參數類型和返回值類型。 /** * 連接數據庫 * @param string $dbhost 數據庫服務器地址 * @param string $dbuser 數據庫用戶名 * @param string $dbpwd 數據庫密碼 */六、代碼風格1.縮進和空格:使用4個空格做為縮進,不使用Tab鍵;變量賦值時,等號兩邊留出空格。($url = '$_GET['url']';)2.語句斷行:盡量保證程序語句一行即一句;盡量不要使一行的代碼過長,80個字符以內;如果一行的代碼太長,請使用類似于‘.='方式斷行連接;執行數據庫的sql語句操作時,盡量不要再函數內寫sql語句,而先用變量定義sql語句,然后在執行操作的函數中調用定義的變量。3.更好的習慣:在代碼中使用下面列舉的方法,可以使代碼更優雅。 1):多使用php中已經存在的常量,而不要自己定義。 例://換行 echo $msg."/r/n"; echo $msg,PHP_EOL; php中PHP_EOL是一個預定義常量,表示一行結束,隨著所使用系統不同,使用PHP_EOL代碼可移植性更高 2):在echo中使用逗號做連接符,比用‘.'做連接符代碼更美觀。 3):單引號的效率高于雙引號,但二者在使用上有區別,學會使用printf函數。 例://echo echo '每個'.$scholl.'大約有'.floor($avg).'個學生'; //printf $format = '每個%s大于有$d個學生'; printf($format,$school,$avg); 4) :詳細的注釋 5):不要 濫用語法糖,語法糖就是語言中的潛規則,即不具備普遍代表性的語法。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久精品影院| 精品伊人久久97| 国产成人精品优优av| 成人亚洲欧美一区二区三区| 亚洲成人中文字幕| 欧美性猛交xxxx黑人| 国产精品欧美日韩久久| 久久夜色精品亚洲噜噜国产mv| 欧美老少做受xxxx高潮| 久久久人成影片一区二区三区| 亚洲影视九九影院在线观看| 久久av红桃一区二区小说| 国产亚洲精品久久久久动| 欧美另类极品videosbest最新版本| 亚洲欧美国产精品久久久久久久| 欧美激情在线观看视频| 91夜夜未满十八勿入爽爽影院| 亚洲成人网久久久| 欧美国产日韩一区二区三区| 欧美在线观看日本一区| 国产99视频在线观看| 在线亚洲午夜片av大片| 国产成人综合久久| 亚洲综合成人婷婷小说| 亚洲网站在线播放| 亚洲mm色国产网站| 日韩免费在线免费观看| 国产精品黄色影片导航在线观看| 自拍偷拍亚洲精品| 欧美激情视频一区二区| 中文字幕亚洲色图| 国内精品小视频| 亚洲精品视频网上网址在线观看| 91av在线播放| 久久久久女教师免费一区| 亚洲一区二区三区乱码aⅴ蜜桃女| 最近2019免费中文字幕视频三| 精品国产999| 性欧美暴力猛交69hd| 欧美第一淫aaasss性| 国产成人97精品免费看片| 亚洲美女av在线播放| 国产精品ⅴa在线观看h| 国内伊人久久久久久网站视频| 国产精品夫妻激情| 色综合久综合久久综合久鬼88| 日韩在线观看高清| 国产97在线|亚洲| 7m第一福利500精品视频| 国产欧美在线播放| 国产日韩在线免费| 免费不卡欧美自拍视频| 成人中心免费视频| 国产精品亚洲激情| 国产精品一二三在线| 国产日韩欧美中文在线播放| 国产在线一区二区三区| 性欧美在线看片a免费观看| 国产精品久久久久久av福利| 久久的精品视频| 中文字幕欧美日韩va免费视频| 中文字幕在线看视频国产欧美在线看完整| 国产精品国产福利国产秒拍| 欧美激情视频一区| 日韩有码在线电影| 日韩成人免费视频| 亚洲视频一区二区| 国产成人精品综合| 国产精品男人爽免费视频1| 欧美高清在线观看| 国内精品久久久久久久| 91久热免费在线视频| 色综合男人天堂| 日韩成人av一区| 欧美性xxxxx| 成人午夜小视频| 国产精品成人在线| 欧洲成人性视频| 亚洲成人教育av| 亚洲天堂av在线免费| 欧美亚洲伦理www| 亚洲美女精品成人在线视频| 欧美午夜精品久久久久久人妖| 欧美一级高清免费| 欧美黑人一区二区三区| 国产综合在线看| 亚洲精品免费一区二区三区| 欧美成人一二三| 午夜免费在线观看精品视频| 成人动漫网站在线观看| 国产精品第8页| 欧美亚洲另类激情另类| 欧美国产日韩一区二区三区| 日韩免费不卡av| xxx欧美精品| 黑人狂躁日本妞一区二区三区| 欧美日韩亚洲天堂| 欧美色xxxx| 国模精品视频一区二区| 日韩av在线天堂网| 久久久久国产一区二区三区| 亚洲精品成人久久久| 日韩中文字幕在线精品| 一区二区三区日韩在线| 国产成人av网| 国产小视频91| 欧美一级电影在线| 色99之美女主播在线视频| 国产一区在线播放| 日韩欧美中文第一页| 国产精品一区二区三区久久| 欧美激情综合色综合啪啪五月| 中文字幕免费精品一区高清| 尤物yw午夜国产精品视频明星| 亚洲国产精品久久91精品| 91久久久久久久久久久久久| 色综合导航网站| 欧美亚洲另类在线| 精品无人区乱码1区2区3区在线| 亚洲激情国产精品| 欧美极品第一页| 日韩av免费在线播放| 成人av.网址在线网站| 亚洲成年网站在线观看| 国产精品普通话| 日韩精品在线免费| 成人久久一区二区| 久久久国产成人精品| 久久九九亚洲综合| 国产成人精品在线视频| 亚洲精品国产综合区久久久久久久| 97香蕉久久夜色精品国产| 亚洲精品视频久久| 日韩欧美在线视频免费观看| 色婷婷亚洲mv天堂mv在影片| 中日韩美女免费视频网站在线观看| 欧美色播在线播放| 免费不卡在线观看av| 日韩免费看的电影电视剧大全| 国产成人av网址| 日本一欧美一欧美一亚洲视频| 亚洲一区二区久久久久久久| 日韩成人av一区| 欧美在线免费看| 亚洲男人天堂2023| 91色精品视频在线| 日本a级片电影一区二区| 国产午夜精品理论片a级探花| 成人h猎奇视频网站| 亚洲第一福利视频| 欧美一区三区三区高中清蜜桃| 色综合色综合网色综合| 日韩在线观看免费全| 精品成人久久av| 日韩中文字幕在线看| 亚洲国产欧美一区二区三区同亚洲| 亚洲激情视频网| 成人免费视频xnxx.com| 播播国产欧美激情| 伊人一区二区三区久久精品| 第一福利永久视频精品| 九九热视频这里只有精品| 欧美成人国产va精品日本一级| 成人精品久久久|