新聞中心
本文轉(zhuǎn)載自公眾號(hào)“讀芯術(shù)”(ID:AI_Discovery)

成都網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序設(shè)計(jì)、集團(tuán)成都企業(yè)網(wǎng)站定制等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶(hù);涵蓋的客戶(hù)類(lèi)型包括:衛(wèi)生間隔斷等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶(hù)的一致贊揚(yáng)!
想讓事情盡善盡美是很正常的心態(tài)。然而,當(dāng)進(jìn)行任務(wù)轉(zhuǎn)換時(shí),我們有時(shí)會(huì)忘記一些重要的事情——代碼質(zhì)量,以及作為一名程序員的成長(zhǎng)。在我們犯下的眾多“罪孽”之中,因匆忙而造成的錯(cuò)誤實(shí)在無(wú)可厚非。
話(huà)雖如此,我們也必須尋找機(jī)會(huì),深呼吸,放慢腳步。當(dāng)覺(jué)得時(shí)間不夠時(shí),要小心不要出現(xiàn)以下這些重大錯(cuò)誤。
未讀取足夠代碼
你有沒(méi)有在電影里看到過(guò)這種畫(huà)面:一個(gè)程序員盯著屏幕看了好幾分鐘,卻一籌莫展。沒(méi)有電影這樣拍——電影常塑造這樣的情節(jié):程序員飛速鍵入一些內(nèi)容,然后問(wèn)題迎刃而解。遺憾的是,真正的日常工作并非那么光鮮亮麗。
我們需要閱讀數(shù)不勝數(shù)的代碼。此外,我們還應(yīng)該了解它的作用和原理。
來(lái)自互聯(lián)網(wǎng)的隨機(jī)代碼
代碼讀取不夠會(huì)導(dǎo)致很多情況。你上一次在網(wǎng)上查找答案,比如在堆棧溢出(Stack Overflow)上找到一個(gè)代碼片段,然后復(fù)制粘貼它,是什么時(shí)候?我可能就是這周。
從SO獲取的代碼有很大可能有效,但你是否了解它的作用、原理以及局限性?它足夠安全嗎?它如何應(yīng)對(duì)邊緣情況和你的需求?
有時(shí),你不得不粘貼代碼,并祈禱它能正常運(yùn)行。時(shí)間有限,有些事情過(guò)于復(fù)雜,難以捉摸。但通常,你可以在15-30分鐘內(nèi)搞懂代碼。對(duì)于放入項(xiàng)目中的代碼,你應(yīng)該確信自己足夠了解,否則可能會(huì)危及項(xiàng)目的安全性和可維護(hù)性。
項(xiàng)目中的代碼
讀取自己項(xiàng)目中的代碼感覺(jué)如何?你被叫去修復(fù)的問(wèn)題正好是不熟悉的一部分,不幸中的萬(wàn)幸,你預(yù)感到并試圖立即修復(fù)它。修復(fù)起效了,你推進(jìn)了這種變更,一切回到正軌。
這種錯(cuò)誤后患無(wú)窮。如果你不熟悉基礎(chǔ)代碼而且沒(méi)有進(jìn)行測(cè)試,那么進(jìn)行修復(fù)時(shí)不造成任何破壞并能解決所有問(wèn)題就成了天方夜譚。在試圖解決問(wèn)題之前,你總需要弄清原委。只是隨意調(diào)試是沒(méi)有用的??赡軙?huì)走運(yùn)一兩次,但遲早會(huì)造成大麻煩。
庫(kù)中的代碼
啟動(dòng)項(xiàng)目時(shí)默認(rèn)要添加多少個(gè)庫(kù)?你確定它們是必需的并了解它們是如何實(shí)現(xiàn)的嗎?我并不是在為不使用代碼庫(kù)和框架做辯護(hù)。只要有可能,就應(yīng)該使用經(jīng)過(guò)驗(yàn)證和良好測(cè)試的代碼?!爸貜?fù)發(fā)明車(chē)輪”很常見(jiàn),但不過(guò)是多此一舉,且弊大于利。
了解你正在使用的工具有益無(wú)害。常用庫(kù)通常是優(yōu)秀的軟件,研究它們的基礎(chǔ)代碼,你會(huì)受益良多。這會(huì)幫助你成為一個(gè)更熟練的開(kāi)發(fā)人員,或者至少讓你意識(shí)到你并不需要某個(gè)特定的庫(kù)。不必分析使用過(guò)的每一個(gè)庫(kù),但當(dāng)你不斷重復(fù)使用某個(gè)庫(kù)時(shí),你就有必要了解它是如何運(yùn)作的。
讀取優(yōu)質(zhì)代碼能讓你成為更好的開(kāi)發(fā)人員,并幫助你理解自己的產(chǎn)品。你或許認(rèn)為自己沒(méi)有時(shí)間讀取代碼,事實(shí)并非如此。熟悉產(chǎn)品代碼有助于加快編碼速度,多讀取其他代碼有利于作為一名開(kāi)發(fā)人員的成長(zhǎng)。因此,從長(zhǎng)遠(yuǎn)來(lái)看,讀取代碼可以節(jié)省時(shí)間,而非浪費(fèi)時(shí)間。
代碼未重構(gòu)
你需要實(shí)現(xiàn)一個(gè)功能,但情況緊急,幸好你知道如何快速構(gòu)建此功能。于是你投入其中,輸入一些含糊的代碼,一切似乎都很順利,問(wèn)題也迎刃而解。是時(shí)候往前推進(jìn)了。
大錯(cuò)特錯(cuò)!當(dāng)你開(kāi)始編碼卻不考慮其他選擇,只堅(jiān)持要用第一版解決方案時(shí),你的代碼是有缺陷的。它可能效率低下、不可讀或不可維護(hù)。最糟糕的時(shí)候,三種情況會(huì)同時(shí)出現(xiàn),導(dǎo)致問(wèn)題無(wú)法解決。
速戰(zhàn)速?zèng)Q很誘人,但一名出色開(kāi)發(fā)員的標(biāo)志是創(chuàng)建高質(zhì)量的代碼并改進(jìn)其所涉及的基礎(chǔ)代碼。若一個(gè)新項(xiàng)目中,所有人都只想盡快推出新功能,那么該項(xiàng)目注定會(huì)產(chǎn)生巨大的技術(shù)債務(wù)。隨著時(shí)間推移,項(xiàng)目會(huì)變得越來(lái)越難以維護(hù),開(kāi)發(fā)人員的工作效率也將停滯不前。
改進(jìn)代碼是團(tuán)隊(duì)中每個(gè)開(kāi)發(fā)人員的責(zé)任。所以,實(shí)現(xiàn)新功能一定要舍得花時(shí)間。考慮到工作的副作用,以及對(duì)通用應(yīng)用架構(gòu)的適應(yīng),你應(yīng)該始終讓基礎(chǔ)代碼保持比初始更好的狀態(tài)。久而久之,它不僅能加快開(kāi)發(fā)速度,還能讓你成為一名更熟練的程序員。
代碼未測(cè)試
有多少次,你并未準(zhǔn)備確保功能正常運(yùn)作的測(cè)試就創(chuàng)建了功能?這種做法很常見(jiàn)——尤其是在需要快速進(jìn)行的項(xiàng)目中。人人都覺(jué)得測(cè)試?yán)速M(fèi)了寶貴時(shí)間,所以他們不得不重啟進(jìn)度,這永無(wú)止境。
事實(shí)上,對(duì)于任何生命周期較長(zhǎng)或有待發(fā)展的項(xiàng)目,不論你的代碼有多么優(yōu)秀,測(cè)試都至關(guān)重要。更糟糕的是,有人會(huì)對(duì)不同的代碼部分進(jìn)行更改,這就會(huì)破壞你的功能。沒(méi)有測(cè)試,你就無(wú)法得知這些。正確的測(cè)試提供了安全性,它們讓你可以放心地在代碼中進(jìn)行更改。
你可能覺(jué)得測(cè)試?yán)速M(fèi)時(shí)間浪費(fèi)金錢(qián),但事實(shí)恰恰相反,未來(lái)的自己和其他開(kāi)發(fā)人員都將感謝你編寫(xiě)了有用的測(cè)試。
欲速則不達(dá),有些事看起來(lái)浪費(fèi)時(shí)間,但不做后患無(wú)窮,認(rèn)真做了反而能有收獲。
新聞標(biāo)題:忙中有失:開(kāi)發(fā)人員慌亂中容易出現(xiàn)的3個(gè)疏忽
網(wǎng)頁(yè)地址:http://www.5511xx.com/article/cdgohso.html


咨詢(xún)
建站咨詢(xún)
