欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

講的非常不錯的PHP編碼規(guī)范第1/3頁

 更新時間:2008年01月07日 22:36:37   作者:  
講的非常不錯的PHP編碼規(guī)范
注:這是從PHPCMS開發(fā)文檔里看到編碼規(guī)范,雖名為PHPCMS的開發(fā)規(guī)范,但我覺得所有的PHP編程都該如此。寫了那么多PHP,很多編碼對照這規(guī)范都感覺欠缺很多,今后一定要對照糾正。

Phpcms 編碼規(guī)范
1. 引言…. 2
2. 適用范圍…. 2
3. 標(biāo)準(zhǔn)化的重要性和好處…. 3
4. PHP編碼規(guī)范與原則…. 3
4.1. 代碼標(biāo)記… 3
4.2. 注釋… 3
4.3. 書寫規(guī)則… 4
4.3.1. 縮進(jìn)… 4
4.3.2. 大括號{}、if和switch. 4
4.3.3. 運(yùn)算符、小括號、空格、關(guān)鍵詞和函數(shù)… 5
4.3.4. 函數(shù)定義… 6
4.3.5. 引號… 6
4.3.6. 多語言問題… 7
4.4. 命名原則… 8
4.4.1. 變量、對象、函數(shù)名… 8
4.4.2. 常量… 8
4.5. 變量的初始化與邏輯檢查… 8
4.6. 安全性… 9
4.7. 兼容性… 9
4.8. 代碼重用… 10
4.9. 其他細(xì)節(jié)問題… 10
4.9.1. 包含調(diào)用… 10
4.9.2. 錯誤報(bào)告級別… 11
5. 數(shù)據(jù)庫設(shè)計(jì)…. 11
5.1. 字段… 11
5.1.1. 表和字段命名… 11
5.1.2. 字段結(jié)構(gòu)… 11
5.2. SQL語句… 12
5.3. 性能與效率… 13
5.3.1. 定長與變長表… 13
5.3.2. 運(yùn)算與檢索… 13
5.3.3. 結(jié)構(gòu)優(yōu)化與索引優(yōu)化… 14
5.3.4. 查詢優(yōu)化… 14
5.3.5. 兼容性問題… 16
6. 模板設(shè)計(jì)…. 16
6.1. 代碼標(biāo)記… 16
6.2. 書寫規(guī)則… 16
6.2.1. HTML. 16
6.2.2. 變量… 16
6.2.3. 語言元素… 17
6.2.4. 縮進(jìn)… 17
7. 文件與目錄…. 17
7.1. 文件命名… 17
7.2. 目錄命名… 18
7.3. 空目錄索引… 18

1. 引言
本規(guī)范由編程原則組成,融合并提煉了開發(fā)人員長時間積累下來的成熟經(jīng)驗(yàn),意在幫助形成良好一致的編程風(fēng)格。以達(dá)到事半功倍的效果,如果有需要本文檔會不定期更新。
版權(quán): 陜西玖肆陸陸網(wǎng)絡(luò)科技有限公司,保留所有權(quán)利
最后更新日期:年11月20日 2006

2. 適用范圍
如無特殊說明,以下規(guī)則要求完全適用于phpcms項(xiàng)目,同時也可大部分適用于公司其他PHP項(xiàng)目。

3. 標(biāo)準(zhǔn)化的重要性和好處
當(dāng)一個軟件項(xiàng)目嘗試著遵守公共一致的標(biāo)準(zhǔn)時,可以使參與項(xiàng)目的開發(fā)人員更容易了解項(xiàng)目中的代碼、弄清程序的狀況。使新的參與者可以很快的適應(yīng)環(huán)境,防止部分參與者出于節(jié)省時間的需要,自創(chuàng)一套風(fēng)格并養(yǎng)成終生的習(xí)慣,導(dǎo)致其它人在閱讀時浪費(fèi)過多的時間和精力。而且在一致的環(huán)境下,也可以減少編碼出錯的機(jī)會。缺陷是由于每個人的標(biāo)準(zhǔn)不同,所以需要一段時間來適應(yīng)和改變自己的編碼風(fēng)格,暫時性的降底了工作效率。從使項(xiàng)目長遠(yuǎn)健康的發(fā)展以及后期更高的團(tuán)隊(duì)工作效率來考慮暫時的工作效率降低是值得的,也是必須要經(jīng)過的一個過程。標(biāo)準(zhǔn)不是項(xiàng)目成功的關(guān)鍵,但可以幫助我們在團(tuán)隊(duì)協(xié)作中有更高的效率并且更加順利的完成既定的任務(wù)。
1. 程序員可以了解任何代碼,弄清程序的狀況
2. 新人可以很快的適應(yīng)環(huán)境
3. 防止新接觸PHP的人出于節(jié)省時間的需要,自創(chuàng)一套風(fēng)格并養(yǎng)成終生的習(xí)慣
4. 防止新接觸PHP的人一次次的犯同樣的錯誤
5. 在一致的環(huán)境下,人們可以減少犯錯的機(jī)會
6. 程序員們有了一致的敵人

4. PHP編碼規(guī)范與原則

4.1.代碼標(biāo)記
PHP程序可以使用或來界定 PHP 代碼,在HTML頁面中嵌入純變量時,可以使用這樣的形式。
近年來PHP開發(fā)組一直倡導(dǎo)代碼規(guī)范化和標(biāo)準(zhǔn)化,未來版本PHP可能會開始不建議使用甚至取消和這種速記形式,因此為了加強(qiáng)程序兼容性,在發(fā)布之前我們將統(tǒng)一把 

4.2.注釋
注釋是對于那些容易忘記作用的代碼添加簡短的介紹性內(nèi)容。請使用 C 樣式的注釋“/* */”和標(biāo)準(zhǔn) C++ 注釋“//”。

程序開發(fā)中難免留下一些臨時代碼和調(diào)試代碼,此類代碼必須添加注釋,以免日后遺忘。所有臨時性、調(diào)試性、試驗(yàn)性的代碼,必須添加統(tǒng)一的注釋標(biāo)記“//debug”并后跟完整的注釋信息,這樣可以方便在程序發(fā)布和最終調(diào)試前批量檢查程序中是否還存在有疑問的代碼。例如:
$num = 1;
$flag = TRUE; //debug 這里不能確定是否需要對$flag進(jìn)行賦值
if(empty($flag)) {
//Statements


4.3.書寫規(guī)則

4.3.1. 縮進(jìn)
每個縮進(jìn)的單位約定是一個TAB(8個空白字符寬度),需每個參與項(xiàng)目的開發(fā)人員在編輯器(UltraEdit、EditPlus、Zend Studio等)中進(jìn)行強(qiáng)制設(shè)定,以防在編寫代碼時遺忘而造成格式上的不規(guī)范。
本縮進(jìn)規(guī)范適用于PHP、JavaScript中的函數(shù)、類、邏輯結(jié)構(gòu)、循環(huán)等。

4.3.2. 大括號{}、if和switch
首括號與關(guān)鍵詞同行,尾括號與關(guān)鍵字同列;
if結(jié)構(gòu)中,if和elseif與前后兩個圓括號同行,左右各一個空格,所有大括號都單獨(dú)另起一行。另外,即便if后只有一行語句,仍然需要加入大括號,以保證結(jié)構(gòu)清晰;
switch結(jié)構(gòu)中,通常當(dāng)一個case塊處理后,將跳過之后的case塊處理,因此大多數(shù)情況下需要添加break。break的位置視程序邏輯,與case同在一行,或新起一行均可,但同一switch體中,break的位置格式應(yīng)當(dāng)保持一致。
以下是符合上述規(guī)范的例子:
If ($condition)
{
switch ($var)
{
case 1: echo ‘var is 1'; break;
case 2: echo ‘var is 2'; break;
default: echo ‘var is neither 1 or 2'; break;
}
}
else
{
switch ($str)
{
case ‘a(chǎn)bc':
$result = ‘a(chǎn)bc';
break;
default:
$result = ‘unknown';
break;
}


4.3.3. 運(yùn)算符、小括號、空格、關(guān)鍵詞和函數(shù)
每個運(yùn)算符與兩邊參與運(yùn)算的值或表達(dá)式中間要有一個空格,唯一的特例是字符連接運(yùn)算符號兩邊不加空格;
左括號“(” 應(yīng)和函數(shù)關(guān)鍵詞緊貼在一起,除此以外應(yīng)當(dāng)使用空格將“(”同前面內(nèi)容分開;
右括號“)”除后面是“)”或者“.”以外,其他一律用空格隔開它們;
除字符串中特意需要,一般情況下,在程序以及HTML中不出現(xiàn)兩個連續(xù)的空格;
任何情況下,PHP程序中不能出現(xiàn)空白的帶有TAB或空格的行,即:這類空白行應(yīng)當(dāng)不包含任何TAB或空格。同時,任何程序行尾也不能出現(xiàn)多余的TAB或空格。多數(shù)編輯器具有自動去除行尾空格的功能,如果習(xí)慣養(yǎng)成不好,可臨時使用它,避免多余空格產(chǎn)生;
每段較大的程序體,上、下應(yīng)當(dāng)加入空白行,兩個程序塊之間只使用1個空行,禁止使用多行。
程序塊劃分盡量合理,過大或者過小的分割都會影響他人對代碼的閱讀和理解。一般可以以較大函數(shù)定義、邏輯結(jié)構(gòu)、功能結(jié)構(gòu)來進(jìn)行劃分。少于15行的程序塊,可不加上下空白行;
說明或顯示部分中,內(nèi)容如含有中文、數(shù)字、英文單詞混雜,應(yīng)當(dāng)在數(shù)字或者英文單詞的前后加入空格。

根據(jù)上述原則,以下舉例說明正確的書寫格式:
$result = (($a + 1) * 3 / 2 + $num)).'Test';
$condition ? func1($var) : func2($var);
$condition ? $long_statement
: $another_long_statement;
if ($flag)
{

//Statements
//More than 15 lines
}
Showmessage(‘請使用 restore.php 工具恢復(fù)數(shù)據(jù)。'); 

相關(guān)文章

  • PHP?array_combine()?函數(shù)內(nèi)置函數(shù)

    PHP?array_combine()?函數(shù)內(nèi)置函數(shù)

    這篇文章主要介紹了PHP?array_combine()函數(shù)內(nèi)置函數(shù),array_combine()是PHP中的一個內(nèi)置函數(shù),用于組合兩個數(shù)組并通過使用一個數(shù)組作為鍵和另一個數(shù)組作為值來創(chuàng)建一個新數(shù)組
    2022-09-09
  • PHP安全之register_globals的on和off的區(qū)別

    PHP安全之register_globals的on和off的區(qū)別

    這篇文章主要介紹了PHP安全之register_globals的on和off的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 深入php self與$this的詳解

    深入php self與$this的詳解

    本篇文章是對php中的self與$this進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • php pdo連接數(shù)據(jù)庫操作示例

    php pdo連接數(shù)據(jù)庫操作示例

    這篇文章主要介紹了php pdo連接數(shù)據(jù)庫操作,結(jié)合實(shí)例形式分析了PHP使用pdo連接數(shù)據(jù)庫并執(zhí)行事務(wù)相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11
  • 基于OpenCV的PHP圖像人臉識別技術(shù)

    基于OpenCV的PHP圖像人臉識別技術(shù)

    本文所介紹的技術(shù)不是原創(chuàng),而是從一個叫Robert Eisele的德國人那里學(xué)習(xí)來的。他寫了一個PHP擴(kuò)展openCV,只封裝了兩個函數(shù),叫face_detect和face_count。
    2009-10-10
  • 兩個開源的Php輸出Excel文件類

    兩個開源的Php輸出Excel文件類

    因?yàn)橛龅搅诉@個問題,所以到Google搜索了下。
    2010-02-02
  • php部分常見問題總結(jié)

    php部分常見問題總結(jié)

    php常見問題解決集錦,主要包括php的運(yùn)行方法等小技巧
    2008-03-03
  • 9個比較實(shí)用的php代碼片段

    9個比較實(shí)用的php代碼片段

    這篇文章主要介紹了9個非常有用的PHP代碼片段,可以幫助你開發(fā) PHP項(xiàng)目,下面這里收集了9個PHP代碼片段,感興趣的小伙伴們可以參考一下
    2016-03-03
  • php設(shè)計(jì)模式 Composite (組合模式)

    php設(shè)計(jì)模式 Composite (組合模式)

    將對象組合成樹形結(jié)構(gòu)以表示"部分-整體"的層次結(jié)構(gòu),使得客戶對單個對象和復(fù)合對象的使用具有一致性
    2011-06-06
  • PHP串行化與反串行化實(shí)例分析

    PHP串行化與反串行化實(shí)例分析

    這篇文章主要介紹了PHP串行化與反串行化,結(jié)合實(shí)例形式分析了php面向?qū)ο蟪绦蛟O(shè)計(jì)及serialize與unserialize函數(shù)進(jìn)行串行化、反串行化相關(guān)使用技巧,需要的朋友可以參考下
    2016-12-12

最新評論