<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          解決不了bug先放著,這里有40條提升編程技能小妙招

          共 1849字,需瀏覽 4分鐘

           ·

          2020-08-04 06:11

          作者:Kesk

          機(jī)器之心編譯

          參與:魔王

          這 40 個(gè)小貼士,或許可以幫你提升編程技能。

          如何提高編程技能?恐怕很多開發(fā)者思考過這個(gè)問題。最近,擁有將近 15 年開發(fā)經(jīng)驗(yàn)的軟件工程師 Kesk -*- 寫了一篇博客,列舉了 40 條對其職業(yè)生涯有所幫助的事項(xiàng)。

          或許,通過以下 40 個(gè)小貼士,你可以提升自己的編程技能。

          1. 將大塊代碼拆分成函數(shù)。

          2. 下班的時(shí)候還有問題沒解決,請關(guān)上電腦,明天再看。

          3. YAGNI 原則(你不會需要它):只寫別人要求你寫的功能。不要預(yù)測未來,只需要盡可能快地完成開發(fā)。只編碼解決當(dāng)前問題最必要的部分。

          4. 你不需要什么都懂,也不需要了解所有框架。最棒的事情莫過于打好基礎(chǔ)。在開始使用一個(gè)框架前先深入了解這門語言,學(xué)習(xí)基礎(chǔ)的事項(xiàng)(如 SOLID 原則),或者如何寫出干凈的代碼。

          5. KISS 原則:KISS(保持簡單和愚蠢)原則表明,大多數(shù)系統(tǒng)保持簡潔而非復(fù)雜化,就可以運(yùn)行得很好。盡管這很符合邏輯,但有時(shí)候卻很難做到。

          6. 不要想太多。

          7. 如果你和一個(gè)問題或 bug 斗爭了太長時(shí)間,先離開一會兒,等下再回來。通常,在離開辦公室去往衛(wèi)生間的路上,解決方案就會出現(xiàn)在腦海里。當(dāng)你對客戶或同事生氣時(shí),也建議你暫時(shí)離開去走走,如果你還想保住工作的話……

          8. 學(xué)習(xí)寫有用的測試,學(xué)著用 TDD(測試驅(qū)動(dòng)開發(fā))。TDD 是一種軟件開發(fā)流程,它是對如下簡短開發(fā)周期的重復(fù):寫測試;運(yùn)行所有測試,查看新的測試是否運(yùn)行;寫代碼;運(yùn)行測試;重構(gòu)代碼;重復(fù)。

          9. 先解決問題再寫代碼。不要在一籌莫展的時(shí)候開始編程。

          10. 不要記代碼,而是理解邏輯。

          11. 如果你復(fù)制粘貼 Stack Overflow 中的解決方案,請確保自己首先理解它。學(xué)習(xí)用恰當(dāng)?shù)姆绞绞褂?Stack Overflow。

          12. 想學(xué)習(xí),先實(shí)踐。創(chuàng)建示例,并使其運(yùn)行,因?yàn)橹煌ㄟ^閱讀來學(xué)習(xí)遠(yuǎn)遠(yuǎn)不夠。

          13. 研究他人的代碼,也時(shí)不時(shí)讓別人研究你的代碼。結(jié)對編程并進(jìn)行代碼 review 是不錯(cuò)的想法。

          14. 不要重復(fù)造輪子。

          15. 代碼是最好的文檔。

          16. 了解如何搜索。你需要有經(jīng)驗(yàn),大量閱讀,了解需要找什么。

          17. 你寫的代碼以后會由自己或別人進(jìn)行維護(hù),因此寫的時(shí)候想著讀者,不要把自己當(dāng)做最聰明的人。寫代碼要像寫故事一樣。

          18. 用谷歌解決錯(cuò)誤的最佳方式是復(fù)制粘貼。

          19. 不要放棄,問題總能得到解決的。糟糕的時(shí)刻總會過去。

          20. 好好休息。解決問題的最佳方式是先讓大腦得到充分休息。

          21. 學(xué)習(xí)使用軟件設(shè)計(jì)模式。設(shè)計(jì)模式是軟件設(shè)計(jì)常見問題的解決方案。每個(gè)模式就像一個(gè)藍(lán)圖,你可以依據(jù)它進(jìn)行自定義,進(jìn)而解決自己代碼中的常見設(shè)計(jì)問題(記住,不要重復(fù)造輪子)。

          22. 盡可能地使用集成工具和自動(dòng)化方式。

          23. 練習(xí)編碼套路(code kata):編碼套路是一種編程練習(xí),可以幫助程序員通過重復(fù)實(shí)踐來提升技能。示例參見:https://codingdojo.org/kata/

          24. 編程并達(dá)到接口水平,而不是實(shí)現(xiàn)水準(zhǔn)。依賴注入是必要的,參見 SOLID 原則。

          25. 重構(gòu)——測試 - 重構(gòu)。重構(gòu)即對現(xiàn)有代碼進(jìn)行重建、改動(dòng),在不改變其內(nèi)部行為的前提下提升內(nèi)部結(jié)構(gòu)。

          26. 必要的時(shí)候?qū)で髱椭?,不要浪費(fèi)時(shí)間。

          27. 多實(shí)踐,熟能生巧。

          28. 盡管有時(shí)候注釋可以幫到你,但不要在這上面花費(fèi)太多注意力。注釋可能是過時(shí)的。

          29. 了解自己的開發(fā)環(huán)境,并建設(shè)足夠強(qiáng)大的開發(fā)環(huán)境,如 IntelliJ。

          30. 重用組件。

          31. 在開發(fā) web 應(yīng)用時(shí),思考移動(dòng)端及其相關(guān)的電量和帶寬限制。

          32. 不要過早地優(yōu)化或重構(gòu)代碼。盡快做出最小可行性產(chǎn)品比較重要。

          33. 不要為了節(jié)約幾分鐘,而選擇低效的捷徑。每次寫代碼,都要竭盡全力。

          34. 遵循文檔標(biāo)準(zhǔn)。

          35. 用戶不是技術(shù)人才。開發(fā) UI 時(shí)時(shí)刻想著這一點(diǎn)。

          36. 經(jīng)常使用 GitHub 或 bitbucket 等源代碼控制系統(tǒng),并頻繁進(jìn)行小的提交更新操作。

          37. 使用 log 要比代碼 debug 更好。將所有關(guān)鍵部分記錄下來。

          38. 寫代碼時(shí)要保持連貫性。如果你使用一種風(fēng)格,請一以貫之。如果你和多人合作的話,請和整個(gè)團(tuán)隊(duì)使用同樣的風(fēng)格。

          39. 不要停止學(xué)習(xí),不止是學(xué)新語言或新框架,還要關(guān)注軟件開發(fā)基礎(chǔ)知識。

          40. 最后,保持耐心,保持熱愛。

          原文鏈接:https://medium.com/swlh/40-tips-that-will-change-your-coding-skills-forever-bf9d6b936ccc


          瀏覽 27
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日本黄色片网址 | 97香蕉久久国产超碰青草专区 | 天堂激情 | 精品无人国产偷自产在线 | 久久精品无码视频 |