精品秘无码一区二区三区老师-精品秘一区二三区免费雷安-精品蜜桃秘一区二区三区-精品蜜桃秘一区二区三区粉嫩-精品蜜桃一区二区三区-精品蜜臀国产aⅴ一区二区三区

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

PHP代碼的優(yōu)與劣

admin
2010年7月8日 1:35 本文熱度 5704
我在sitepoint做面試官的時(shí)候一定會(huì)問的問題是:你認(rèn)為php代碼的優(yōu)劣體現(xiàn)在哪里?因?yàn)檫@個(gè)問題可以讓我大體知道應(yīng)聘者是哪種類型的程序員,而不是單純地考察他對php函數(shù)的掌握程度(這一點(diǎn)zend的php認(rèn)證做得不錯(cuò),雅虎的php程序員面試題也屬于此類)。[br] 重要的是,這個(gè)問題可以讓我知道應(yīng)聘者是否經(jīng)歷過這樣的事情——從一個(gè)懶散程序員手中接過一段凌亂的代碼進(jìn)行重用,或者要幫助團(tuán)隊(duì)中的其他成員來處理這類事情。[br] 誠然,對于這個(gè)問題我自己并沒有一個(gè)滿意的答案,不過我知道哪些答案是我想聽到的:[br] 優(yōu)良的php代碼應(yīng)該是結(jié)構(gòu)化的。大段的代碼應(yīng)該被分割整理成一個(gè)個(gè)函數(shù)或方法,而那些不氣眼的小段代碼則應(yīng)該加上注釋,以便日后清楚它們的用途。而且應(yīng)該盡可能地把前臺(tái)代碼如html、css、javascript等從程序中分離出來。php的面向?qū)ο缶幊烫匦钥梢院芎玫貛椭绦騿T將代碼整理有序。[br] 優(yōu)良的php代碼應(yīng)該是規(guī)范化的。無論是為變量名和函數(shù)名設(shè)定命名規(guī)則,還是對一些會(huì)重復(fù)使用的過程如數(shù)據(jù)庫操作和錯(cuò)誤處理進(jìn)行標(biāo)準(zhǔn)化,抑或是簡單到規(guī)定好代碼是怎樣縮進(jìn)的,這些規(guī)范化都可以讓代碼的可讀性大大提高。[br] 優(yōu)良的php代碼應(yīng)該是自適應(yīng)的。php有許多特性如magic quotes和short tags,這些特性的打開和關(guān)閉會(huì)影響到程序的運(yùn)行。所以,一個(gè)好的程序員應(yīng)該在他的代碼中加如適當(dāng)?shù)恼Z句來使程序能夠根據(jù)環(huán)境進(jìn)行調(diào)整。[br] 優(yōu)良的php代碼應(yīng)該是安全的。雖然php是一種高效、靈活的語言,沒有固定的框架,但卻把安全問題留給了程序員們。對潛在安全漏洞的深刻理解,如跨站腳本攻擊(xss)、跨站請求偽造(csrf)、代碼注入漏洞、字符編碼循環(huán)漏洞等,對于今天的專業(yè)程序員來說是至關(guān)重要的。[br] 當(dāng)應(yīng)聘者在回答這些問題的時(shí)候,我就能清楚地知道是否該錄用他。當(dāng)然,有時(shí)程序員并不能很好地闡明這個(gè)問題,這時(shí)我們會(huì)讓他們做一些php測試。測試中的許多問題表面上看起來非常簡單,但這也給了應(yīng)聘者們一個(gè)展現(xiàn)自我的機(jī)會(huì),因?yàn)橹灰^察得仔細(xì),就能找出問題。[br] 下面這一小段“劣質(zhì)”的php代碼是一道簡化了的測試題。這種問題就像在問:你該怎樣優(yōu)化這段代碼?[br] echo("[br] search results for query: " .[br] $_get['query'] . ".[br] ");[br] ?>[br] 這段代碼的主要問題在于它把用戶提交的數(shù)據(jù)直接顯示到了網(wǎng)頁上,從而產(chǎn)生xss漏洞。其實(shí)有很多方法可以填補(bǔ)這個(gè)漏洞。那么,什么代碼是我們想要的呢?[br] echo("[br] search results for query: " .[br] htmlspecialchars($_get['query']) . ".[br] ");[br] ?>[br] 這是最低要求。xss漏洞用htmlspecialchars函數(shù)填補(bǔ)了,從而屏蔽了非法字符。[br] if (isset($_get['query']))[br] {[br] echo '[br] search results for query: ',[br] htmlspecialchars($_get['query'], ent_quotes), '.[br] ';[br] }[br] ?>[br] 能寫出這樣代碼的人應(yīng)該是我想要錄用的人了。[br] * * 在輸出$_get['query']的值之前先判斷它是否為空。[br] * echo命令中多余的括號(hào)被去掉了。[br] * 字符串用單引號(hào)限定,從而節(jié)省了php從字符串中搜索可替換的變量的時(shí)間。[br] * 用逗號(hào)代替句號(hào),節(jié)省了echo的時(shí)間。[br] * 將ent_quotes標(biāo)識(shí)傳遞給htmlspecialchars函數(shù),從而保證單引號(hào)也會(huì)被轉(zhuǎn)義。雖然這并是最主要的,但也算是一個(gè)良好習(xí)慣。[br] 可惜的是,能給出這樣讓人滿意答復(fù)的程序員少之又少。我們花了3個(gè)月的時(shí)間才招聘到讓我們滿意的程序員。[br] 那么,你會(huì)怎樣回答文章開頭提出的問題呢?你認(rèn)為php代碼的優(yōu)劣體現(xiàn)在哪里?你認(rèn)為一個(gè)php程序員還應(yīng)具有哪些品質(zhì)?

該文章在 2010/7/8 1:35:12 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 精品日产卡一卡二卡国色天香 | 精品无码久久久久国产三级网 | 少妇无码吹潮 | 亚洲va久久久噜噜噜久久男同 | 久久久久亚洲爆乳少妇无 | 麻豆文化传媒精品1区2区3区:相关内容介绍 | 国产精品交换 | 三级精品亚洲中文 | 最新69国产成人精品视频免费 | 欧美丰满熟妇乱xxxxx视频 | 日本欧美大码a在线观看 | 亚洲熟女乱色综合亚洲av | 欧洲亚洲国产成人综合色婷婷 | 国产真实乱xxxav | 亚洲人成网站在线播放 | 亚洲级久久久久精品毛片 | 国产又色又爽又黄刺激在线视频 | 欧美日韩国产一区国产二区 | 国产农村野战胖女人8毛片 国产农村下载在线观看 | 亚洲av人人澡人人爽人人夜夜 | 免费看欧美日韩一区二区三区 | 囯产精品一区二区三区乱码 | 99精品一区二区三区无码吞精 | 欧美成人精品三级网站在线观看 | 无码avav无码中文字幕 | 精品卡一卡二卡三免费 | 手机看片福利视频 | 亚洲欧美日韩精品中文乱码 | 毛片网站在线看 | 亚洲电影+有码+中文字幕 | 久久精品www人人爽人人 | 午夜在线观看cao | 天噜啦精品免费视频日本免费视频 | 综合激情区视频一区视频二区 | 国产在线精品一区在线观看 | 国产成人av无码精品 | 成人免费无码视频在线网站 | 国产午夜精品一区二区三区不卡 | 日韩欧美一区二区三区免费看 | 一区二区三区无码高清视频 | 久久久精品人妻一区亚美研究所 |