本篇內(nèi)容主要講解“如何成為優(yōu)秀的開發(fā)者”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何成為優(yōu)秀的開發(fā)者”吧!
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、瀘州ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的瀘州網(wǎng)站制作公司
1.三法則
三法則是一個代碼重構(gòu)的經(jīng)驗(yàn)法則,用來決定什么時候應(yīng)該用新的代碼/程序/方法來替換一段復(fù)制的代碼。
它規(guī)定,允許你復(fù)制粘貼一次代碼,但當(dāng)同一代碼復(fù)制三次時,應(yīng)提取到一個新的程序中。主要的概念是使代碼/程序/方法能夠在項(xiàng)目中通用,這樣它就可以在很多地方重復(fù)的使用。
2.穩(wěn)定才是王道
在結(jié)構(gòu)和編碼方式上保持一致。這可以幫助你提高代碼的可讀性和可維護(hù)性。
嘗試并提出一致性的編碼標(biāo)準(zhǔn),這有助于保持一致性,最好精確到你的變量的命名習(xí)慣。另一個重要的是代碼程序的結(jié)構(gòu),它應(yīng)該是顯而易見的,開發(fā)人員需要做出一些改變或添加一些新的東西。
3.減少嵌套
If中的if可能會使代碼結(jié)構(gòu)變得很亂,而且很快就很難讀懂。有時你可能無法繞過這個問題,但一定要看看你的代碼結(jié)構(gòu)。對于 else if 來說也是一樣的,要盡可能避免if嵌套,因?yàn)檫@有時會使代碼更難讀。
衛(wèi)語句(又稱 提前返回 /提前退出)是幫助解決這一問題的有效方法!衛(wèi)語句只是用于檢查先決條件,可以是一個返回語句,也可以是一個異常。
沒有使用衛(wèi)語句示例:
if (account != null) { if (order != null) { if (order.term == Term.Annually) { // term annually } else if (order.term == Term.Monthly) { // term monthly } else { throw new InvalidEnumArgumentException(nameof(term)); } } else { throw new ArgumentNullException(nameof(subscription)); } }
使用衛(wèi)語句示例:
if (account == null) { throw new ArgumentNullException(nameof(account)); } if (order == null) { throw new ArgumentNullException(nameof(order)); } if (order.term == Term.Annually) { // term annually (return here) } if (order.term == Term.Monthly) { // term monthly (return here) } throw new InvalidEnumArgumentException(nameof(order.term));
4.從全局出發(fā)去考慮
對項(xiàng)目整體有個認(rèn)知是非常重要的,這能使小細(xì)節(jié)更容易跟進(jìn)。一旦你了解了項(xiàng)目的整體結(jié)構(gòu),小細(xì)節(jié)就不需要再去花太多時間去研究。
5.花點(diǎn)時間思考下命名的問題
在編碼中給變量、方法或?qū)ο竺抢_我們的事情之一,這可以是給一個類、方法甚至是一個變量命名。一個優(yōu)秀的開發(fā)者會花時間考慮相關(guān)的變量名,因?yàn)樗麄冎肋@有助于提高可讀性!
6.技術(shù)負(fù)債是不好的
要求高點(diǎn)可以幫助解決這個問題。盡量一次寫好你的代碼邏輯,否則你就得反復(fù)的去重構(gòu)。
技術(shù)債務(wù)是軟件開發(fā)中的一個概念,它反映了由于現(xiàn)在選擇一種簡單的(有限的)解決方案,而不是使用會花費(fèi)較長時間的更好的方法而導(dǎo)致的額外返工的成本。
7.過高的評估
根據(jù)您所處部門的不同,您未必喜歡這一點(diǎn)。但優(yōu)秀的開發(fā)人員往往會高估任務(wù),因?yàn)樗麄冎朗虑榇蟾乓ǘ嚅L時間,然后會給預(yù)期再增加一個緩沖的時間,這樣可以幫助你把事情做好。
這可以真正幫助你解決上面的觀點(diǎn)—— "技術(shù)債務(wù)是不好的"。如果你低估或預(yù)估了一個比較理想的時間,實(shí)際上可能會無法完成,甚至?xí)z留一些技術(shù)債務(wù)。因?yàn)槟愕钠谕皇潜M快的完成并能夠使其正常運(yùn)行,而不是使代碼干凈且易于維護(hù)。
8.文檔和注釋
文檔和注釋有助于幫助自己或者他人更容易的理解和使用。你會聽到一些有經(jīng)驗(yàn)的人在說,我們能不能把這個過程記錄下來,或者代碼審查失敗,因?yàn)榻涌跊]有相關(guān)注釋等。
9.敢于刪除不好的或沒用的代碼
你經(jīng)常會看到很多不太自信的開發(fā)人員將大量代碼注釋掉并留在那里。版本控制是有目的!優(yōu)秀的開發(fā)人員不會回避刪除應(yīng)用程序中沒用的代碼。
10.花時間檢查編寫的代碼
優(yōu)秀的開發(fā)人員將花費(fèi)更多的時間在代碼審查上,并且知道代碼審查的重要性。
盡早的發(fā)現(xiàn)BUG;
提高開發(fā)人員的技能,并讓團(tuán)隊(duì)其他成員也養(yǎng)成這樣的習(xí)慣;
知識分享;
一致的設(shè)計(jì)和實(shí)現(xiàn)。
我見過的最好的代碼評審過程是:
1個風(fēng)險不大的小任務(wù)應(yīng)該由1個開發(fā)人員進(jìn)行審查;
中型/大型更改或有風(fēng)險的更改應(yīng)由3位開發(fā)人員進(jìn)行審核,其中一位是其辦團(tuán)隊(duì)中的高級開發(fā)人員;
一個風(fēng)險極高的修改或是正在開發(fā)的新功能,應(yīng)該舉行一個會議,3個開發(fā)人員至少有一個是首席開發(fā)人員,然后一起去看每一行,并提出建議。
11.編寫測試用例
您會注意到,經(jīng)驗(yàn)更豐富,實(shí)力更強(qiáng)的開發(fā)人員會花更多時間編寫好測試用例。良好的測試用例可以幫助您更有信心地?cái)U(kuò)展或修改程序代碼,并有助于減少bug的產(chǎn)生。
12.花時間去設(shè)計(jì)
在深入研究代碼或?qū)懘a之前,請先進(jìn)行仔細(xì)考慮,然后將其分解為小塊。這有助于幫你如何將所有東西組合在一起,并為創(chuàng)建更簡潔的代碼做更多準(zhǔn)備。
13.要注重技術(shù)實(shí)現(xiàn)原理而不是語法
這是個大問題! 他們喜歡學(xué)習(xí)基礎(chǔ)知識大于注重語法。這可以幫助他們更有效的發(fā)現(xiàn)問題,也可以幫助他們更明白的google問題。
14.讓谷歌成為你的好朋友
他們是Googling的專家,能更好的找到解決問題的方法。因?yàn)樯厦嫣岬剿麄兏鼘W⒂诨A(chǔ)知識而不是語法,所以他們知道該搜索哪些谷歌術(shù)語,如果你執(zhí)著于學(xué)習(xí)語法,這是很難做到的!
15.先實(shí)現(xiàn)功能再優(yōu)化
一些初級開發(fā)人員,似乎一開始就花了很多時間讓編寫的代碼看起來很漂亮,這樣如果最后發(fā)現(xiàn)它們無法正常工作就陷入尷尬。優(yōu)秀的開發(fā)人員會在早些時候只實(shí)現(xiàn)功能,這樣把細(xì)節(jié)處理好之前可以盡早的發(fā)現(xiàn)問題,有利于保證項(xiàng)目更加順利的進(jìn)行。
16.風(fēng)險管理和解決問題
高級開發(fā)人員可以把控風(fēng)險,通過設(shè)計(jì)模式的應(yīng)用提煉出復(fù)雜的問題,并且根據(jù)過去的經(jīng)驗(yàn),可以獨(dú)立解決不同的問題。
17.多問
優(yōu)秀的開發(fā)人員想了解的多一點(diǎn)。即使聽起來很簡單,他們也不介意提出問題。這些可能是與技術(shù)或業(yè)務(wù)相關(guān)的問題。了解業(yè)務(wù)需求有助于他們編寫更好的代碼!他們對自己的能力充滿信心,因此不怕問問題。
18.盡可能地將邏輯從數(shù)據(jù)庫中分離出來
這一點(diǎn)要看你構(gòu)建的應(yīng)用類型,只有在不會影響性能的情況下才可以。
他們知道要把數(shù)據(jù)庫查詢控制在簡單的CRUD操作中。
Create, read (aka retrieve), update, and delete
然后,業(yè)務(wù)邏輯層應(yīng)該將這些內(nèi)容整合在一起。這有助于開發(fā)人員知道在哪里尋找業(yè)務(wù)邏輯。如果在數(shù)據(jù)庫查詢和代碼中有邏輯,這很快就會變得混亂。
19.保持代碼簡潔
他們知道保持代碼簡單是最好的方法。即使這意味著有時要多寫代碼。您將看到許多初級開發(fā)人員編寫如下所示的代碼:
return dir.Keys.Any(k => k >= limit) ? dir.First(x => x.Key >= limit).Value : dir[dir.Keys.Max()];
到此,相信大家對“如何成為優(yōu)秀的開發(fā)者”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
文章標(biāo)題:如何成為優(yōu)秀的開發(fā)者
瀏覽路徑:http://jinyejixie.com/article28/iejsjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、搜索引擎優(yōu)化、全網(wǎng)營銷推廣、標(biāo)簽優(yōu)化、企業(yè)建站、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)