天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

10條PHP編程習(xí)慣助你找工作

過去的幾周對(duì)我來(lái)說(shuō)是一段相當(dāng)復(fù)雜的經(jīng)歷。我們公司進(jìn)行了大裁員,我是其中之一,但卻體驗(yàn)到了其中的樂趣。我從來(lái)沒有被開除過,所以很難不去想得太多。我開始瀏覽招聘板塊,一個(gè)全職php程序員的職位很吸引人,所以我寄去了簡(jiǎn)歷并獲得了面試機(jī)會(huì)。在面試之間,我和其主要的程序員們?cè)谧稍冸娫捴辛牧肆模詈笏麄兘o我出了一套測(cè)試題,其中有一道很耐人尋味。

  找出以下代碼的錯(cuò)誤之處:

<?
function baz($y $z) {
$x = new Array();
$x[sales] = 60;
$x[profit] = 20:

foreach($x as $key = $value) {
echo $key+" "+$value+"<BR>";
}
}

  你能找到幾個(gè)呢?

  如果你發(fā)現(xiàn)函數(shù)參數(shù)列表中少了逗號(hào)、“new Array()”是不正確的、行末用了冒號(hào)而不是分號(hào)、foreach中沒有用“=>”及用“+”來(lái)連接字符串,那恭喜你,你找到了所有的錯(cuò)誤,你已經(jīng)掌握了php編程的基礎(chǔ)。

  現(xiàn)在我來(lái)說(shuō)說(shuō)我是怎么回答這道題的。我當(dāng)然也找出了以上這些問題,但我更進(jìn)一步。比如,你有沒有發(fā)現(xiàn)在數(shù)組索引里沒有用引號(hào)將字符串括起來(lái)?雖然這不會(huì)造成嚴(yán)重錯(cuò)誤,但這是一個(gè)編碼錯(cuò)誤。另外,你注意到在echo一行它使用了雙引號(hào)而不是單引號(hào)嗎?使用了php開始標(biāo)志的縮寫形式?并且沒有用“<br/>”而是用了“<BR>”?

  在找出了實(shí)際錯(cuò)誤后,我又在上面找到的問題后面加了注釋。這足夠讓這份答卷從“正確”轉(zhuǎn)變?yōu)椤鞍l(fā)人深省”了,這也給我的申請(qǐng)加了不少分,所以他們決定聘用我。(但最后我拒絕了,因?yàn)槲蚁矚g緊湊的生活節(jié)奏,并將自己的php技能奉獻(xiàn)給我的客戶,而不是一家涉獵電信市場(chǎng)的公司。我需要一個(gè)舞臺(tái)來(lái)大展身手。)

  那么接下來(lái)就來(lái)看看我寫的10條php編程習(xí)慣吧:

1、使用單引號(hào)括起來(lái)的字符串

  當(dāng)使用雙引號(hào)來(lái)括字符串時(shí),php解釋器會(huì)對(duì)其進(jìn)行變量替換、轉(zhuǎn)義等操作,如“/n”。如果你只想輸出一個(gè)基本的字符串,就用單引號(hào)吧,這樣會(huì)節(jié)省一些資源。當(dāng)然,如果你需要進(jìn)行變量替換的,那就必須用雙引號(hào)了,但其他情況下還是用單引號(hào)吧。

2、字符串的輸出

  你認(rèn)為以下哪一條語(yǔ)句的運(yùn)行速度最快?

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;

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

3、在數(shù)組索引中使用單引號(hào)

  正如你在上面的測(cè)試題中所看到的,我指出了$x[sales]從嚴(yán)格意義上來(lái)說(shuō)是錯(cuò)誤的,索引應(yīng)該被括起來(lái),即$x['sales']。這是因?yàn)?a href=/itjie/phpjishu/ target=_blank class=infotextkey>php會(huì)將沒有括起來(lái)的索引辨認(rèn)為“裸”字符串,并把它解釋為一個(gè)常量。當(dāng)找不到該常量的定義時(shí),才將其解釋為一個(gè)字符串,所以這條語(yǔ)句才是可運(yùn)行的。把索引括起來(lái)可以省去這部分工作,如果將來(lái)正好要用這一字符串定義常量時(shí)也就不會(huì)有錯(cuò)誤了。我甚至聽說(shuō)這樣做要快七倍左右的時(shí)間,雖然我沒有親自測(cè)試過。更多關(guān)于這一話題的討論,請(qǐng)看php手冊(cè)“數(shù)組”一章中的的“數(shù)組的能與不能”一節(jié)。

4、不要使用開始標(biāo)志的縮寫形式

  你正在使用這樣的符號(hào)嗎?“<?”是非常糟糕的符號(hào),它會(huì)引起與XML解釋器的沖突。而且一旦你發(fā)布了這些代碼,那么使用者就必須修改php.ini文件來(lái)打開對(duì)此符號(hào)的支持。所以實(shí)在沒有理由去使用這種形式。用“<?php“吧。

5、盡量不要使用正則表達(dá)式

  在進(jìn)行常規(guī)的字符串操作時(shí),盡可能不要去使用正則表達(dá)式(preg和ereg系列函數(shù))。str_replace函數(shù)要比preg_replace快得多,甚至strtr函數(shù)也要比str_replace來(lái)得快。省去這些不必要的麻煩吧,你的老板會(huì)感謝你的。

6、不要在循環(huán)聲明中使用函數(shù)

  這個(gè)問題不單單出現(xiàn)在php中,你可以在其他語(yǔ)言的代碼中經(jīng)??吹剑?/P>

差:for($i=0;$i<count($array);$i++){...}

好:$count=count($array);for($i=0;$i<$count;$i++){...}

  這因該很好解釋,但許多人就是想少寫一行代碼而浪費(fèi)了系統(tǒng)資源。如果在循環(huán)聲明中使用了count函數(shù),那每次循環(huán)都會(huì)調(diào)用一次。如果你的循環(huán)次數(shù)很多,那就會(huì)浪費(fèi)非常多的時(shí)間。

7、永遠(yuǎn)不要使用register_globals和magic quotes

  這是兩個(gè)很古老的功能,在當(dāng)時(shí)(十年前)也許是一個(gè)好方法,但現(xiàn)在看來(lái)并非如此。老版本的php在安裝時(shí)會(huì)默認(rèn)打開這兩個(gè)功能,這會(huì)引起安全漏洞、編程錯(cuò)誤及其他的問題,如只有用戶輸入了數(shù)據(jù)時(shí)才會(huì)創(chuàng)建變量等。如今這兩個(gè)功能都被舍棄了,所以每個(gè)程序員都應(yīng)該避免使用。如果你過去的程序有使用這兩項(xiàng)功能,那就盡快將其剔除吧。

8、一定要對(duì)變量進(jìn)行初始化(這里的“初始化”指的是“聲明”――譯者注)

  當(dāng)需要沒有初始化的變量,php解釋器會(huì)自動(dòng)創(chuàng)建一個(gè)變量,但依靠這個(gè)特性來(lái)編程并不是一個(gè)好主意。這會(huì)造成程序的粗糙,或者使代碼變得另人迷惑,因?yàn)槟阈枰綄み@個(gè)變量是從哪里開始被創(chuàng)建的。另外,對(duì)一個(gè)沒有初始化的變量進(jìn)行遞增操作要比初始化過的來(lái)得慢。所以對(duì)變量進(jìn)行初始化會(huì)是個(gè)不錯(cuò)的主意。

9、對(duì)代碼進(jìn)行注釋

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

  我知道有些自稱為php大師的人聲稱自己的代碼寫得很好,不需要添加什么注釋。在我看來(lái),這些人都是垃圾。學(xué)一寫注釋的規(guī)范和技巧,熟悉一下phpDocumentor或Doxygen之類的注釋輔助軟件,都是值得的。

10、遵循一個(gè)編程規(guī)范

  關(guān)于這一點(diǎn),是你需要在面試中詢問你潛在的老板的,問問他們正在使用什么編程規(guī)范。PEAR?Zend??jī)?nèi)部規(guī)范?要提及你正在使用的編程規(guī)范,不管是你自己創(chuàng)建的,還是目前普遍流行的一種。對(duì)于php這種松松垮垮的語(yǔ)言來(lái)說(shuō),如果沒有一個(gè)好的編程規(guī)范,那么那些代碼就會(huì)看起來(lái)想一堆垃圾。發(fā)臭的,令人作嘔的垃圾。一些基本的規(guī)范包括空格規(guī)范、打括號(hào)匹配、命名風(fēng)格等。這對(duì)任何一個(gè)追求高質(zhì)量的代碼的人來(lái)說(shuō)都是必須的。

  有人說(shuō):“我討厭你的4個(gè)空格的縮進(jìn)?!蔽乙f(shuō),什么?用4個(gè)空格來(lái)縮進(jìn)?這比用制表符過占用3個(gè)字符的空間。更重要的是,只要是使用比記事本高級(jí)的編輯器,你可以自定義制表符的縮進(jìn)值。所以每個(gè)程序員都可以以其最習(xí)慣的方式來(lái)看代碼??梢詴r(shí)設(shè)置為4,也可以設(shè)置為0(如果你是個(gè)受虐狂)。反正我不在乎,但你就是不能用空格來(lái)縮進(jìn)!

  總的來(lái)說(shuō),我希望以上這些編程習(xí)慣可以對(duì)你有所幫助。如果你想在面試中留下好印象,只需要一些小細(xì)節(jié)就可以了。

php技術(shù)10條PHP編程習(xí)慣助你找工作,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: CHINA末成年VIDEO学生 | 99精品无码AV在线播放 | 久久99精品国产99久久6男男 | 国产亚洲精品久久久999蜜臀 | 成人在线视频国产 | 免费成人高清在线视频 | 忘忧草研究院一二三 | 午夜影院美女 | 久久中文字幕免费高清 | 免费在线观看国产 | 久爱精品亚洲电影午夜 | 国产成年网站v片在线观看 国产成年人在线观看 | 久久精品视在线观看85 | 麻豆精品人妻一区二区三区蜜桃 | 彭丹吃奶门 | 扒开老师大腿猛进AAA片 | 久久香蕉国产免费天天 | 夜色55夜色66亚洲精品网站 | 内射少妇36P九色 | 亚洲va在线va天堂XX xX | 99国产精品久久久久久久日本竹 | 97精品视频在线观看 | 欧美精品高潮呻吟AV久久 | 男女XX00上下抽搐动态图 | 熟妇无码乱子成人精品 | 国产成人无码区免费内射一片色欲 | caoporm国产精品视频免费 | 2021久久最新国产精品 | 国产在线观看免费观看 | 美国色情三级欧美三级纸匠情挑 | 欧美日本高清动作片www网站 | 国产色青青视频在线观看 | 99久久香蕉国产线看观看 | 日本无修肉动漫在线观看 | 欧美一级久久久久久久久大 | 特大黑人娇小亚洲女mp4 | 国产视频这里只有精品 | 成人国产亚洲精品A区天堂蜜臀 | www.久久精品视频 | 中文字幕久久熟女人妻AV免费 | 国产3级在线 |