博客專欄

EEPW首頁(yè) > 博客 > 9個(gè)編程好習(xí)慣,我堅(jiān)持了10年

9個(gè)編程好習(xí)慣,我堅(jiān)持了10年

發(fā)布人:xiaomaidashu 時(shí)間:2022-06-22 來(lái)源:工程師 發(fā)布文章
最近有一些讀者來(lái)咨詢:有什么需要注意的編程好習(xí)慣?給大家分享一下。


1

多看官方文檔


不要被這幾個(gè)字嚇到,官方文檔其實(shí)都是寶藏。 一個(gè)成熟的技術(shù)誕生,可以沒有博客沒有書籍,但一定會(huì)有一個(gè)官方文檔,毋庸置疑,它一定是最準(zhǔn)確、最實(shí)時(shí)的資料。編寫官方文檔的人,也通常就是這些技術(shù)或者軟件的開發(fā)者,他們是對(duì)這些東西最了解的人,所以編寫的文檔不僅質(zhì)量非常高,通常內(nèi)容也都是最新的。

圖片


因此,官方文檔遠(yuǎn)比網(wǎng)上的各種博客和論壇等更適合入門學(xué)習(xí)。當(dāng)我們遇到很多問題和技術(shù)細(xì)節(jié)的時(shí)候,認(rèn)真將官方文檔過(guò)一遍,你會(huì)發(fā)現(xiàn)很多問題和認(rèn)識(shí)模糊的地方都會(huì)清晰起來(lái)。 程序員都應(yīng)該掌握通過(guò)官方文檔去學(xué)習(xí)一個(gè)技術(shù)的能力,掌握了這項(xiàng)能力,你就具備了學(xué)會(huì)其他一切技術(shù)框架的基礎(chǔ);而且原汁原味的官方文檔,還能鍛煉你的自我學(xué)習(xí)總結(jié)能力。 2

面向搜索引擎編程


很多人總以為無(wú)論什么都 Google 一下是一件很 low 的行為,但其實(shí),普通程序員+ Google=超級(jí)程序員。 用好搜索功能,Google +Stack Overflow + GitHub 能解決你的大部分問題。 所以,在問別人問題之前,先自己搜索一下吧。
圖片當(dāng)然,超級(jí)程序員可不是會(huì)Google就行的,把 Google 到的東西吸收并運(yùn)用起來(lái),才是真正的能力。 不過(guò),無(wú)論是看官方文檔也好,還是面向 Google 編程也好,都必須要掌握較好的英文能力。這樣才能更好的閱讀文檔,搜索自己所需要的東西。 3

規(guī)范命名


ITWorld 曾經(jīng)發(fā)起過(guò)一個(gè)“程序員最頭疼的事情”投****,結(jié)果,近半數(shù)的程序員認(rèn)為命名是最頭疼的事情。
圖片
有時(shí)候代碼寫嗨了,命名的時(shí)候就開始放飛自我,gousheng、tiedan、xiaonaigou、i、j.....自己是寫嗨了,其他人閱讀起來(lái)就懵逼了。
 所以,不論是內(nèi)部變量還是全局變量,都要形成自己的一種命名規(guī)則,能夠一眼看明白變量的意思?;靵y或錯(cuò)誤的命名不僅讓我們對(duì)代碼難以理解,更會(huì)誤導(dǎo)我們的思維;反之,良好的命名,則可以大大提高我們的代碼易讀性,也能大大增強(qiáng)代碼的可維護(hù)性。 4

認(rèn)真注釋


和命名一樣讓程序員頭疼的還有兩件事:寫注釋頭疼,別人不寫注釋讀著頭疼。 之所以要寫注釋,是因?yàn)楫?dāng)你在寫某個(gè)程序的時(shí)候,可能當(dāng)下記得很清楚,這一段是什么機(jī)制、如何實(shí)現(xiàn),但是當(dāng)你寫的程序越來(lái)越多,你會(huì)忘記當(dāng)初為什么這樣寫,改動(dòng)和交接也十分麻煩,對(duì)代碼進(jìn)行注釋就可以有效避免這種情況。注釋不僅可以讓人讀懂代碼,甚至能讓讀代碼的人獲取更多信息。
圖片 不過(guò),注釋貴精不貴多。要杜絕大姨媽般的“例注”,漫山遍野的碎碎念注釋,實(shí)際就是背景噪音。 5

不要重復(fù)造輪子


“不要重復(fù)造輪子( Stop Trying to Reinvent the Wheel)”, 可能應(yīng)該是每個(gè)程序員入行被告知的第一條準(zhǔn)則。寫程序?qū)嶋H上是一個(gè)最能“偷懶”的工作:你現(xiàn)在費(fèi)力實(shí)現(xiàn)的每一個(gè)功能,可能早已經(jīng)有極好的解決方法貢獻(xiàn)在開源社區(qū),使用好現(xiàn)有的輪子和各種開源庫(kù),會(huì)讓你事半功倍。 當(dāng)然,要找到一個(gè)非常適合的輪子,是非常不容易的一件事。有時(shí)候費(fèi)了九牛二虎之力找了輪子,卻發(fā)現(xiàn)有這樣那樣的問題,最后還是無(wú)疾而終。
圖片
那么,什么樣的輪子是一個(gè)好輪子呢?
  • 開源,并且 License 寬松。
  • 有文檔,代碼規(guī)范,接口友好,最好有實(shí)際用例。
  • 社區(qū)相對(duì)活躍。
  • 松耦合,定制容易。
總之,只要合適好用,都是一個(gè)好輪子。
6

多讀多寫代碼


提高編程能力其實(shí)沒有捷徑,最佳方式就是多寫代碼。 不過(guò),除了寫大量代碼,提升編程能力還需要大量閱讀別人寫的代碼。

圖片
一來(lái),閱讀源碼可以提高編程能力。學(xué)習(xí)都從模仿開始,不管是入門時(shí)閱讀教程里的示例代碼,還是進(jìn)階時(shí)閱讀優(yōu)秀項(xiàng)目源碼,都是很好的學(xué)習(xí)方式。 二來(lái),閱讀源碼可以提高 debug 能力。只有練習(xí)積累的閱讀代碼的能力,才能看懂代碼,從而快速準(zhǔn)確地定位代碼中的問題。 最后,閱讀源碼可以幫助形成良好的代碼風(fēng)格 ?!伴_發(fā)”不僅要寫可以執(zhí)行的代碼,更是 要寫別人讀得懂的代碼 ,這對(duì)代碼的維護(hù)和擴(kuò)展大有好處。 7

預(yù)留開發(fā)時(shí)間


一個(gè)程序員能否精確評(píng)估開發(fā)時(shí)間,是一件非常重要的事情。不過(guò)對(duì)于新手程序員來(lái)說(shuō),寧可多算一周,不可少估一天。過(guò)于“樂觀”容易讓你的 boss 受驚嚇。 畢竟,在評(píng)估開發(fā)時(shí)間的過(guò)程中,你需要預(yù)設(shè)各種修改對(duì)其他模塊的影響。一個(gè)修改后的單元測(cè)試,可接受測(cè)試,UAT 環(huán)境測(cè)試,再到上線,很多地方都是需要花時(shí)間的。一旦某個(gè)測(cè)試不通過(guò),然后又得調(diào)試,修改,再進(jìn)行單元測(cè)試......誰(shuí)能保證每次修改都是一次通過(guò)的呢。 8

大膽重構(gòu)


重構(gòu)是程序員的主力技能。 一個(gè)程序員最大的勇氣就是看自己三個(gè)月之前寫的代碼。但是,學(xué)習(xí)如何將你的代碼重構(gòu)為一份更好的代碼,這是一項(xiàng)很有價(jià)值的技能。好的代碼是改出來(lái)的,代碼需要不停的重構(gòu), 重構(gòu)應(yīng)該貫穿代碼開發(fā)的整個(gè)階段。
圖片
重構(gòu)也并不應(yīng)該是在幾個(gè)月之后重構(gòu),最好的方式是實(shí)時(shí)重構(gòu)。寫一天代碼,70%的時(shí)間都放到重構(gòu)上都不過(guò)份。
9

師傅領(lǐng)進(jìn)門


最后,作為一個(gè)初入職場(chǎng)的新手程序員,找一個(gè)可靠的前輩帶領(lǐng)自己,是一個(gè)非常有利于自己成長(zhǎng)的選擇。 這個(gè)師傅最好能具備這幾個(gè)特質(zhì):
  • 支持你:不會(huì)因你的成功而利益受損的人。eg.同事相互競(jìng)爭(zhēng)
  • 技術(shù)技能:是確保你能從他身上實(shí)際學(xué)到東西的人。
  • 高標(biāo)準(zhǔn):能讓你保持高標(biāo)準(zhǔn),并不只是為了應(yīng)付今天的工作,也是為了日后成為更資深的程序員。
這樣,當(dāng)你的工作遇到各種問題時(shí),你的師傅可以帶領(lǐng)你走正確的職業(yè)發(fā)展方向上。


轉(zhuǎn)自公眾號(hào):技術(shù)讓夢(mèng)想更偉大


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。

攝像頭相關(guān)文章:攝像頭原理


關(guān)鍵詞: 編程

技術(shù)專區(qū)

關(guān)閉