HDWiki/編碼規(guī)范
命名規(guī)范[ ]
1、主要的目錄 control 里面是控制類 ,前臺命名為something.php,則后臺對應(yīng)的是admin_+前臺名稱,名稱應(yīng)選有意義的英文單詞,例如 前臺詞條 doc.php ,后臺詞條管理對應(yīng)的 admin_doc.php
2、model目錄下個文件是功能模塊,命名以 control名稱+".class.php" ,例如control中doc.php對應(yīng)是 doc.class.php
3、view 是視圖類,前臺某功能命名為主,如login.htm,space.htm等,若不好命名,以"動詞"+"control名稱",例如瀏覽詞條可命名為viewdoc.htm,后臺命名統(tǒng)一加上admin_前綴,如admin_login.htm 、admin_index.htm等
4、lib目錄下為基礎(chǔ)類,命名用個類的名稱為主,如hddb.class.php 、xml.class.php、json.class.php 等
5、文件名全部小寫,類名,類的方法名全部小寫。
6、變量名稱應(yīng)使用有意義的小些英文單詞或組合命名,中間無任何分隔符,如$doc,$user,$category,$onlineip等等,勿使用拼音或者無意義的$temp,$data等來給變量命名
7、常量全部用大寫字母,"HDwiki_有意義的英文單詞或組合",如define('HDwiki_VERSION', '1.0.0');
8、一些列表數(shù)據(jù)采用“名詞+list”,如詞條列表數(shù)據(jù)的變量名使用$doclist,用戶列表數(shù)據(jù)的變量使用$userlist等
9、函數(shù)或者類的方法命名用小寫的英文單詞或組合命名,如是組合請用下劃線_分割,如 function parse(),function add_doc(),function get_user()等
開發(fā)規(guī)范[ ]
1、所有的url都是從 index.php? 開始的,第一個參數(shù)是調(diào)用的控制器,第二個參數(shù)是方法名字,第三個以后的都是方法的參數(shù),例如index.php?doc-view-1 表示 調(diào)用/control/doc.php的doview方法,1是該方法的參數(shù)
2、刪除無用的注釋,包括無用的函數(shù)和方法。
3、if語句格式 :需要用大括號,即使只有一句話,例如if(a) echo 'a'; => if(a) { echo 'a'; }
4、縮進格式,采用TAB方式縮進
5、保證各方法需要有返回值時做有返回值處理,不需要時勿返回值,保證程序異常處理
6、杜絕在for循環(huán)中調(diào)用本可以一次調(diào)用的函數(shù)或方法如:
for($i=0,$con=count($order);$i<$con;$i++){ $this->db->query("update ".DB_TABLEPRE."friendlink set displayorder=".$i." where id=".$order[$i]); }
7、不需要賦值的地方請勿賦值 如
function addlink($link){ $query = $this->db->query("INSERT INTO ".DB_TABLEPRE."friendlink (name,url,description) VALUES ('$link[name]','$link[url]','$link[description]')"); }
直接寫成如下方式即可:
function addlink($link){ $this->db->query("INSERT INTO ".DB_TABLEPRE."friendlink (name,url,description) VALUES ('$link[name]','$link[url]','$link[description]')"); }
8、若中間數(shù)據(jù)可直接返回,請勿再次賦值如:
function get_pms($id){ $pms=$this->db->fetch_first("SELECT * table"); return $pms; }
直接改為:
function get_pms($id){ return $this->db->fetch_first("SELECT a. * ,b.username FROM ".DB_TABLEPRE."pms a,".DB_TABLEPRE." user b where a.toid=b.uid and a.id='".$id."'"); }
9、SQL語句中:sql關(guān)鍵字大寫、表名小寫。sql語句堅決不用子查詢。不用存儲過程、不用外鍵、不用觸發(fā)器等。記錄數(shù),采用 select count(*) from 表名 的方式
10、函數(shù)內(nèi)的局部變量在函數(shù)的第一句開始處定義。
11、函數(shù)和函數(shù)之間空一行。
12、大括號格式
function get_lastdoc($docid,$doctime){; }
13、寫法 if($type=='') 改為 if(''==$type)
參考來源[ ]
HDWIKI使用手冊導航 | ||||||
---|---|---|---|---|---|---|
|