這篇文章主要介紹“web開發(fā)中常見的編碼錯誤有哪些”,在日常操作中,相信很多人在web開發(fā)中常見的編碼錯誤有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”web開發(fā)中常見的編碼錯誤有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)公司是專業(yè)的昌樂網(wǎng)站建設(shè)公司,昌樂接單;提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行昌樂網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
1. 變量的非描述性命名
好的變量名稱非常重要,再怎么強調(diào)也不為過。很多時候,你不是唯一一個項目開發(fā)人員,其他開發(fā)人員也需要了解你編寫的代碼。
選擇好的名字需要時間,但可以節(jié)省更多的時間。
2. 幻數(shù)和字符串
接著上文變量的非描述性命名,跳到下一項,該項關(guān)于不給變量賦值,也被稱為幻數(shù)或魔法字符串。
維基百科定義:
幻數(shù)是唯一值,具有無法解釋的意義且多次出現(xiàn),可以而且應(yīng)該被命名常量替換。
來看看下面的代碼片段:
for ($i = 1; $i <= 52; $i++) { ... }
該例中的數(shù)字52就是一個幻數(shù)。沒有人明白為什么有52這個數(shù)字及其代表什么。為什么是52?為什么不能是64?這些是一年中的星期總數(shù)嗎?
更明晰的方法是:
$cardDeckSize = 52;for ($i = 1;$i <= $cardDeckSize; $i++) { ... }
現(xiàn)在每個人都會明白這是在循環(huán)一副紙牌。該代碼給其他開發(fā)人員提供了語境。除此之外,更改數(shù)值更容易,因為值只在變量中存儲一次,不會重復(fù)。
幻數(shù)經(jīng)常在程序的不同位置多次使用,因此容易出錯。
對于字符串來說也是如此,可采用同種方法:
if (userPasswordIsValid($user,"6yP4cZ".$password)) { ... }
6yP4cZ是什么?似乎非常隨意。
$salt = "6yP4cZ";if(userPasswordIsValid($user, $salt.$password)) { ... }
啊哈,現(xiàn)在就說得通了!
3. 代碼格式混亂
混淆代碼的格式通常是那些沒有豐富編程經(jīng)驗的人才會犯的。如果問有著多年經(jīng)驗的開發(fā)人員,問他們是否認識一個測試人員或數(shù)據(jù)科學(xué)家混淆過代碼格式,他們可能都會點頭。這是由于缺乏經(jīng)驗——除非使用像Python這樣的編程語言,可以避免很多此類失誤。
解決格式混亂最常見的方法是使用linter(應(yīng)用代碼校驗)?,F(xiàn)代集成開發(fā)系統(tǒng)(IDEs)也都有可能解決這個問題。有時需要安裝一個插件,有時也可以直接完成。
4. 在一個函數(shù)中進行太多內(nèi)容
根據(jù)單一職責(zé)模式,一個函數(shù)只應(yīng)負責(zé)做一件事,只有一件事。筆者看到過太多函數(shù)集結(jié)了獲取、處理并呈現(xiàn)數(shù)據(jù)三個功能。把這個函數(shù)分開處理才是好的編程,一個函數(shù)獲取數(shù)據(jù),一個函數(shù)處理數(shù)據(jù),另一個函數(shù)顯示數(shù)據(jù)。
一個函數(shù)只關(guān)注一個內(nèi)容之所以重要,是因為這能讓其運行更穩(wěn)健。比如說,從API(應(yīng)用程序接口)中獲取數(shù)據(jù)。如果API有變動——例如,出現(xiàn)了一個新版本——那么如果處理代碼同屬一個函數(shù),那么處理代碼過程中斷的風(fēng)險就會更大,這很可能會導(dǎo)致數(shù)據(jù)顯示也被中斷。
5. 硬編碼
硬編碼是將數(shù)據(jù)直接嵌入到程序或其他可執(zhí)行對象的源代碼中的軟件開發(fā)行為,而不是從外部獲取數(shù)據(jù)或在運行時生成數(shù)據(jù)。
硬編碼的值不允許更改;它們是固定值。硬編碼被看作是一種反模式,或者至少是意味著一種壞代碼。
硬編碼最多的東西,不管是什么(有時甚至有效)原因,都是密碼和文件位置。
人們看到的很多硬編碼密碼場景是用于外部服務(wù)或API的身份驗證。這些證書往往被硬編碼,但并不是很好的做法。
如果發(fā)現(xiàn)自己硬編碼了很多東西,真的應(yīng)該仔細審視自己寫的代碼,因為大多數(shù)時候這都不是解決問題的好方法。
6. 注釋掉代碼
人們看到過包含多個函數(shù)的代碼塊被注釋掉。沒人知道為什么它還在那里,而且沒人知道這段代碼是否還有意義。但是,沒人會刪除這段代碼,而這是開發(fā)人員真正應(yīng)該做的事情。之所以沒人刪除這段代碼,是因為每個人都認為其他人可能會用到。
只需刪除那段注釋掉的代碼即可。即使代碼不在新的版本中,如果有人想使用,該代碼仍然可以在版本控制中使用。
到此,關(guān)于“web開發(fā)中常見的編碼錯誤有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網(wǎng)站標(biāo)題:web開發(fā)中常見的編碼錯誤有哪些
瀏覽路徑:http://weahome.cn/article/iechjc.html