可以永久改變你的編程技巧的40個(gè)Tips
作者:AI公園
在這個(gè)總結(jié)中,我列出了一些對(duì)我的職業(yè)生涯有幫助的事情。它讀起來(lái)很快,但是用得好可能要花一輩子的時(shí)間。我寫(xiě)代碼已經(jīng)將近15年了,但有時(shí)候,我還是不得不停下來(lái)思考這個(gè)職業(yè)的關(guān)鍵部分。
如何節(jié)省更多的時(shí)間,犯更少的錯(cuò)誤。
在這個(gè)總結(jié)中,我列出了一些對(duì)我的職業(yè)生涯有幫助的事情。它讀起來(lái)很快,但是用得好可能要花一輩子的時(shí)間。我寫(xiě)代碼已經(jīng)將近15年了,但有時(shí)候,我還是不得不停下來(lái)思考這個(gè)職業(yè)的關(guān)鍵部分。
- 把代碼分解為小函數(shù)。
- 如果你下班的時(shí)候還沒(méi)有解決問(wèn)題。關(guān)掉電腦,留到第二天再解決。不要再想這個(gè)問(wèn)題了。
- YAGNI principle:代碼的功能不要超越需求。不要預(yù)測(cè)未來(lái),只要盡快創(chuàng)造出可行的東西就可以了。代碼只需要解決當(dāng)前必須要解決的問(wèn)題。
- 你不需要了解所有內(nèi)容,也不需要了解所有現(xiàn)有框架。最重要的是要有一個(gè)良好的基礎(chǔ)。在開(kāi)始使用框架之前,要深入了解這門(mén)語(yǔ)言,并學(xué)習(xí)一些基本的東西,比如SOLID原則或如何編寫(xiě)干凈的代碼。
- KISS:“Keep it simple, stupid”或“Keep it stupid simple”是一個(gè)設(shè)計(jì)原則,它表明大多數(shù)系統(tǒng)在保持簡(jiǎn)單而不是復(fù)雜的情況下工作得最好。雖然這是合乎邏輯的,但有時(shí)很難實(shí)現(xiàn)。
- 不要想得太多。
- 如果你遇到問(wèn)題或bug的時(shí)間太長(zhǎng),那就走開(kāi),稍后再來(lái)解決它。通常,我在從辦公室到衛(wèi)生間的路上就會(huì)想到這些問(wèn)題的優(yōu)秀解決方案。當(dāng)你對(duì)客戶或同事生氣的時(shí)候,特別是如果你還想保住你的工作,走一走也是明智的。
- 學(xué)習(xí)編寫(xiě)有用的測(cè)試并學(xué)習(xí)做TDD。TDD是一種依賴于重復(fù)非常短的開(kāi)發(fā)周期的軟件開(kāi)發(fā)過(guò)程:編寫(xiě)測(cè)試、運(yùn)行所有測(cè)試并查看新測(cè)試是否失敗、編寫(xiě)一些代碼、運(yùn)行測(cè)試、重構(gòu)代碼、重復(fù)。
- 先解決問(wèn)題,然后再寫(xiě)代碼。不要在不知道怎么做的情況下開(kāi)始編碼。
- 不要去記代碼,而是要理解其中的邏輯。
- 如果復(fù)制粘貼stack overflow解決方案,請(qǐng)確保可以理解它。學(xué)會(huì)使用 Stack Overflow的正確方法。
- 如果你想學(xué)習(xí),那就去練習(xí)。舉個(gè)例子,讓它們發(fā)揮作用,因?yàn)閮H僅閱讀是不夠的。
- 學(xué)習(xí)別人的代碼,也讓別人時(shí)不時(shí)地學(xué)習(xí)你的代碼。結(jié)對(duì)編程和代碼復(fù)查是一個(gè)好主意。
- 不要重復(fù)造輪子。
- 你的代碼就是很好的文檔。
- 知道如何google東西。為此,你需要有經(jīng)驗(yàn)和大量閱讀,知道應(yīng)該找什么。
- 你的代碼將來(lái)可能需要自己或者別人來(lái)維護(hù),所以寫(xiě)代碼時(shí)要考慮到讀者,而不是試圖成為最聰明的人。讓它讀起來(lái)像你在讀故事。
- 利用google來(lái)解決錯(cuò)誤的好方法是復(fù)制粘貼這個(gè)錯(cuò)誤。
- 永不放棄,最終,以這樣或那樣的方式解決它。糟糕的日子總會(huì)過(guò)去的。
- 休息,休息,再休息。解決問(wèn)題的好辦法是有一個(gè)冷靜的頭腦。
- 學(xué)習(xí)使用軟件設(shè)計(jì)模式。設(shè)計(jì)模式是軟件設(shè)計(jì)中常見(jiàn)問(wèn)題的解決方案。每個(gè)模式都類似于一個(gè)藍(lán)圖,你可以自定義該藍(lán)圖以解決代碼中常見(jiàn)的設(shè)計(jì)問(wèn)題。(不要重復(fù)造輪子)
- 盡可能使用集成工具和自動(dòng)化。
- 做代碼練習(xí)。code kata是一種編程練習(xí),幫助程序員通過(guò)練習(xí)和重復(fù)來(lái)提高他們的技能。這里:https://codingdojo.org/kata/
- 面對(duì)接口編程,而不是面對(duì)實(shí)現(xiàn)編程。依賴注入是必需的。參考SOLID原則。
- 重構(gòu)-測(cè)試-重構(gòu),是一種重構(gòu)現(xiàn)有代碼、修改和改進(jìn)其內(nèi)部結(jié)構(gòu)而不改變其外部行為的技術(shù)。
- 需要幫助的時(shí)候就去問(wèn)。不要浪費(fèi)時(shí)間。
- 熟能生巧。
- 雖然有時(shí)注釋可以幫助你理解,但不要太在意它們。他們可能過(guò)時(shí)了。
- 熟悉你的開(kāi)發(fā)環(huán)境,并購(gòu)買于一個(gè)足夠強(qiáng)大的開(kāi)發(fā)環(huán)境,比如IntelliJ。
- 重用組件。
- 在開(kāi)發(fā)web應(yīng)用程序時(shí),請(qǐng)考慮mobile-first以及相關(guān)的功率和帶寬限制。
- 不要過(guò)早地優(yōu)化或重構(gòu)。更重要的是盡快有一個(gè)最小的可行產(chǎn)品。
- 永遠(yuǎn)不要為了節(jié)省幾分鐘而選擇低效的捷徑。每次寫(xiě)代碼的時(shí)候,盡你很大的努力!
- 遵循文檔的標(biāo)準(zhǔn)。
- 用戶不是技術(shù)人員。當(dāng)你開(kāi)發(fā)你的UI時(shí),想想它。
- 一定要用Github或bitbucket之類的代碼管理系統(tǒng),做小和頻繁的git提交。
- 使用日志比調(diào)試代碼更好。記錄所有關(guān)鍵信息。
- 編碼時(shí)要保持一致。如果你使用了一種風(fēng)格,請(qǐng)始終使用同一種風(fēng)格。如果你和更多的人一起工作,所有的團(tuán)隊(duì)使用相同的風(fēng)格。
- 不要停止學(xué)習(xí),但要比學(xué)習(xí)新的語(yǔ)言或框架更關(guān)注軟件開(kāi)發(fā)的基礎(chǔ)知識(shí)。
- 最后,耐心以及熱愛(ài)你所做的事情。
責(zé)任編輯:華軒
來(lái)源:
今日頭條