歡迎您光臨本站 註冊首頁

10條PHP編程習慣助你找工作

←手機掃碼閱讀     火星人 @ 2014-03-26 , reply:0

1、使用單引號括起來的字元串
當使用雙引號來括字元串時,PHP解釋器會對其進行變數替換、轉義等操作,如「\n」。如果你只想輸出一個基本的字元串,就用單引號吧,這樣會節省一些資源。當然,如果你需要進行變數替換的,那就必須用雙引號了,但其他情況下還是用單引號吧。

2、字元串的輸出
你認為以下哪一條語句的運行速度最快?
print 「Hi my name is $a. I am $b」;
echo 「Hi my name is $a. I am $b」;
echo 「Hi my name is 「.$a.」. I am 「.$b;
echo 「Hi my name is 「,$a,」. I am 「,$b;
echo 『Hi my name is 『,$a,』. I am 『,$b;

也許這看起來很奇怪,但事實上最後一條的運行速度是最快的。print比echo要慢,在字元串中進行變數替換時會慢,而連接字元串要比用逗號連接來得慢,最後一句則是第一個習慣的體現。所以,不在字元串中進行變數替換不僅會加快程序運行速度,也會讓你的代碼在任何語法高亮顯示的編輯器中顯得更為易懂(變數會被高亮顯示出來)。很少人知道echo的參數可以用逗號連接,且速度會比字元串連接要來得快。最後再用上第一個習慣,那這條語句就非常好了。

3、在數組索引中使用單引號
正如你在上面的測試題中所看到的,我指出了$x[sales]從嚴格意義上來說是錯誤的,索引應該被括起來,即$x[』sales』]。這是因為PHP 會將沒有括起來的索引辨認為「裸」字元串,並把它解釋為一個常量。當找不到該常量的定義時,才將其解釋為一個字元串,所以這條語句才是可運行的。把索引括起來可以省去這部分工作,如果將來正好要用這一字元串定義常量時也就不會有錯誤了。我甚至聽說這樣做要快七倍左右的時間,雖然我沒有親自測試過。更多關於這一話題的討論,請看PHP手冊「數組」一章中的的「數組的能與不能」一節。

4、不要使用開始標誌的縮寫形式
你正在使用這樣的符號嗎?「<?」是非常糟糕的符號,它會引起與XML解釋器的衝突。而且一旦你發布了這些代碼,那麼使用者就必須修改php.ini文件來打開對此符號的支持。所以實在沒有理由去使用這種形式。用「<?php「吧。

5、盡量不要使用正則表達式
在進行常規的字元串操作時,儘可能不要去使用正則表達式(preg和ereg系列函數)。str_replace函數要比preg_replace快得多,甚至strtr函數也要比str_replace來得快。省去這些不必要的麻煩吧,你的老闆會感謝你的。

6、不要在循環聲明中使用函數
這個問題不單單出現在PHP中,你可以在其他語言的代碼中經常看到:

差PHP代碼:
for($i=0;$i<count($array);$i++){…}

好PHP代碼:
$count=count($array);
for($i=0;$i<$count;$i++){…}

這因該很好解釋,但許多人就是想少寫一行代碼而浪費了系統資源。如果在循環聲明中使用了count函數,那每次循環都會調用一次。如果你的循環次數很多,那就會浪費非常多的時間。

7、永遠不要使用register_globals和magic quotes
這是兩個很古老的功能,在當時(十年前)也許是一個好方法,但現在看來並非如此。老版本的PHP在安裝時會默認打開這兩個功能,這會引起安全漏洞、編程錯誤及其他的問題,如只有用戶輸入了數據時才會創建變數等。如今這兩個功能都被捨棄了,所以每個程序員都應該避免使用。如果你過去的程序有使用這兩項功能,那就儘快將其剔除吧。

8、一定要對變數進行初始化(這裡的「初始化」指的是「聲明」——譯者注)
當需要沒有初始化的變數,PHP解釋器會自動創建一個變數,但依靠這個特性來編程並不是一個好主意。這會造成程序的粗糙,或者使代碼變得另人迷惑,因為你需要探尋這個變數是從哪裡開始被創建的。另外,對一個沒有初始化的變數進行遞增操作要比初始化過的來得慢。所以對變數進行初始化會是個不錯的主意。

9、對代碼進行註釋
這個問題已經提過很多次了,但再多次也不夠。我知道有些地方是不聘用不對代碼進行註釋的程序員的。我在前一次工作面試后和副總、面試官一起瀏覽我寫的代碼,當他們對我所做的代碼註釋印象深刻,還了解了一下我的這一習慣。一天之後,我得到了這個工作。

我知道有些自稱為PHP大師的人聲稱自己的代碼寫得很好,不需要添加什麼註釋。在我看來,這些人都是垃圾。學一寫註釋的規範和技巧,熟悉一下phpDocumen×或Doxygen之類的註釋輔助軟體,都是值得的。

10、遵循一個編程規範
關於這一點,是你需要在面試中詢問你潛在的老闆的,問問他們正在使用什麼編程規範。PEAR?Zend?內部規範?要提及你正在使用的編程規範,不管是你自己創建的,還是目前普遍流行的一種。對於PHP這種鬆鬆垮垮的語言來說,如果沒有一個好的編程規範,那麼那些代碼就會看起來想一堆垃圾。發臭的,令人作嘔的垃圾。一些基本的規範包括空格規範、打括弧匹配、命名風格等。這對任何一個追求高質量的代碼的人來說都是必須的。

有人說:「我討厭你的4個空格的縮進。」我要說,什麼?用4個空格來縮進?這比用製表符過佔用3個字元的空間。更重要的是,只要是使用比記事本高級的編輯器,你可以自定義製表符的縮進值。所以每個程序員都可以以其最習慣的方式來看代碼。可以時設置為4,也可以設置為0(如果你是個受虐狂)。反正我不在乎,但你就是不能用空格來縮進!

[火星人 ] 10條PHP編程習慣助你找工作已經有463次圍觀

http://coctec.com/docs/linux/show-post-186065.html