我們擅長(cháng)商業(yè)策略與用戶(hù)體驗的完美結合。
歡迎瀏覽我們的案例。
很多人都有過(guò)復制粘貼代碼的經(jīng)歷,但如果你經(jīng)常盲目地復制粘貼代碼,甚至是復制粘貼自己不理解的代碼,很可能會(huì )帶來(lái)災難性的后果。
當你復制粘貼自己不理解的代碼時(shí)會(huì )發(fā)生什么
產(chǎn)生垃圾
這是復制粘貼代碼的最大問(wèn)題。復制粘貼的代碼往往包含很多你的程序不需要的額外代碼行。如果開(kāi)發(fā)者在沒(méi)有理解代碼的情況下就進(jìn)行復制,那么代碼就會(huì )變得很復雜,很難理解。
重用性差
開(kāi)發(fā)軟件的真正資產(chǎn)并非代碼,而是可重用的代碼。因此,從長(cháng)遠來(lái)看,簡(jiǎn)單地復制代碼并不能提高生產(chǎn)力。
如果你找到一段代碼,卻沒(méi)有理解,僅僅是復制、粘貼,那么你就無(wú)法正確地重用這段代碼,因為你不知道它的可用性。另外,你也失去了收集可重用代碼的機會(huì )。
復制 Bug
復制代碼的同時(shí),也在復制 Bug。你所復制的代碼片段可以在特定的環(huán)境下使用,但是你的問(wèn)題會(huì )有所不同。所以,如果你沒(méi)有理解代碼就去復制代碼,那么你就會(huì )制造出某些 Bug,這些 Bug 會(huì )暫時(shí)被掩蓋。
安全漏洞
我知道有個(gè)學(xué)弟把 GitHub 的一些代碼片段復制和粘貼到了他的項目中,因為他必須查看他公司發(fā)送給用戶(hù)的最后一條信息。
他確實(shí)是把那些代碼片段復制和粘貼了,但是卻沒(méi)有理解那些代碼。他運行了這段代碼,并且工作得很好。但問(wèn)題在于,這段代碼可以讀取智能手機的所有信息。這個(gè)問(wèn)題影響很大,會(huì )讓你的應用變得緩慢。
引入新的錯誤
當你在你的項目中粘貼代碼時(shí),重復的代碼還可能會(huì )產(chǎn)生額外的錯誤。有時(shí)候,可能是你沒(méi)有把代碼粘貼在正確的地方,也可能是你粘貼的代碼覆蓋了以前的一些代碼。如果你不明白這些代碼,那么會(huì )有很多復制粘貼的方式帶來(lái)災難。
許可證問(wèn)題
開(kāi)發(fā)者經(jīng)常從一個(gè)開(kāi)源項目中復制粘貼代碼。如何不了解復制的源碼許可影響,那么就會(huì )有很大的問(wèn)題,對于嵌入式設備來(lái)說(shuō)更是如此,因為在嵌入式設備中,板載軟件被認為是一個(gè)新的和唯一的副本。這不是 GrammaTech 專(zhuān)攻的領(lǐng)域,但其他公司提供這些類(lèi)型的分析工具。
一些建議
如果你經(jīng)常習慣復制粘貼代碼,那么以下六點(diǎn)建議希望能對你有所幫助。
花時(shí)間去解決一個(gè)問(wèn)題。你今天花的時(shí)間越多,明天要花的時(shí)間就越少。
對復制粘貼的代碼進(jìn)行調試,以便更好地理解。
在復制的代碼中添加一些有用的注釋?zhuān)员?QA 團隊能夠更好地查看。
嘗試將代碼分解成可重復使用的函數。這將有助于你更好地理解。
在從開(kāi)源項目中復制之前,請看清許可證。
請不要在項目中留下任何復制粘貼的代碼的垃圾代碼。
額外提示:
一些資深的開(kāi)發(fā)者建議,與其從網(wǎng)站上復制粘貼代碼,不如通過(guò)重新敲入代碼來(lái)重寫(xiě)。通過(guò)這樣做,你可能會(huì )發(fā)現一些垃圾或無(wú)用的東西,并把它從你的代碼中刪除。這將使代碼變得干凈,并幫助你更好地理解它。再一個(gè)就是,它將幫助你一步一步地理解執行程序。
如果我們僅僅是簡(jiǎn)單地復制和粘貼,就會(huì )失去這些寶貴的經(jīng)驗。請相信我,一點(diǎn)小小的努力,就能使你從好的開(kāi)發(fā)者變成偉大的開(kāi)發(fā)者。
最后幾句話(huà)
復制代碼使我們的生活變得更輕松。但如果不去理解代碼的話(huà),就不會(huì )讓我們成為更好的開(kāi)發(fā)者。一個(gè)偉大的程序員,就是在大多數人不能解決困難問(wèn)題的時(shí)候,能夠解決困難的程序員。
而一個(gè)偉大的開(kāi)發(fā)者并非在一日之內造就的。通過(guò)理解代碼來(lái)解決問(wèn)題,是提高自己的最好方法之一。
因此,盡管復制粘貼代碼的做法很誘人,但在不理解的情況下就復制代碼,是不值得開(kāi)發(fā)者花費寶貴的時(shí)間。在我看來(lái),這是在自欺欺人。
?。?a href="http://www.wxlp666.cn/wechat/">邯鄲小程序開(kāi)發(fā))
小米應用商店發(fā)布消息稱(chēng) 持續開(kāi)展“APP 侵害用戶(hù)權益治理”系列行動(dòng) 11:37:04
騰訊云與CSIG成立政企業(yè)務(wù)線(xiàn) 加速數字技術(shù)在實(shí)體經(jīng)濟中的落地和應用 11:34:49
樂(lè )視回應還有400多人 期待新的朋友加入 11:29:25
亞馬遜表示 公司正在將其智能購物車(chē)擴展到馬薩諸塞州的一家全食店 10:18:04
三星在元宇宙平臺推出游戲 玩家可收集原材料制作三星產(chǎn)品 09:57:29
特斯拉加州San Mateo裁減229名員工 永久關(guān)閉該地區分公司 09:53:13