當前位置: 妍妍網 > 碼農

我做了幾個計畫,還是啥都不會?

2024-01-28碼農

大家好,我是程式設計師魚皮。學編程時,不知道大家有沒有這樣的困惑:

為什麽同樣是做一個計畫,有的同學完成得很快、而且做完後就能自己做其他計畫了?而我已經做了幾個計畫,還是感覺啥都不會?

這篇文章結合我自己、以及我帶大家做計畫的經驗,給出一些建議。

只要能夠做到下面這些點,保證你能夠學好計畫,掌握獨立開發計畫的能力。

學好計畫的建議

1)選擇合適的計畫。一般情況下,做計畫的前提是學完至少一門開發框架,比如前端的 Vue / React、後端的 Spring Boot。

一定要根據自己當前的技術棧和水平選擇計畫。比如剛學完框架時,不要為了趕時間一上來就做微服務、高並行計畫,很容易吃不消,而是要先從掌握計畫基本的開發流程開始,一步步學習計畫開發方法、逐漸接受新的技術。

剛開始學計畫感覺難、做得慢,是很正常的,因為你缺少知識和經驗。如果發現計畫中有太多你沒學過的技術、並且沒有對應的教程講解,那麽就先暫停計畫,即時補充知識,再來學習。

2)多敲程式碼。我接觸過一些同學,看完了幾套視訊教程後,還是無法自己敲計畫,大機率就是因為做計畫的過程中 「只顧著看教程」 了,沒有自己動手練習。很多時候,看別人敲程式碼感覺並不難,但一看就會、一寫就廢,看完教程後,必須自己把每行程式碼都敲出來,才算是真正地學過這個計畫,而不是將 「掌握理論」、「熟練背誦八股文」 作為學好計畫的標準。

3)自主思考。在跟著視訊教程做計畫的過程中,盡量多思考,比如 「為什麽要這麽設計?這麽設計有什麽好處?為什麽程式碼要這麽寫?有沒有更好的寫法?」 等等,必要時透過查閱資料來驗證自己的思考。如果一味跟著講師的節奏走,你或授權以完成計畫,但是做完這個計畫後,你可能很難自主做出一個類似的、或者更好的計畫。有的時候,講師說的不一定是最優解。

像我帶大家做計畫時,會經常引導大家思考。有時候故意留一個小坑,結果很多同學想都不想就跳到坑裏了;也有些同學,能夠提出和我不一樣的實作方案,哪怕方案未必合理,能自己思考,就很棒了。

4)持續記錄。在做計畫的過程中,一定要多做筆記,不要覺得教程配套的筆記很詳細了,自己就偷懶不寫。筆記的作用是幫助自己復習,所以重點是記錄自己做計畫時的理解思考、遇到的問題和解決方案。此外,自己寫過的每一行計畫程式碼,都要完整地保存,等你學過更多技術知識後,再回過頭來看自己的程式碼,一定會感嘆自己的進步。

5)自主解決問題。 這點是最重要的! 很多同學一遇到問題就緊張、害怕、擔心自己解決不了無法繼續做計畫,然後就瘋狂求助他人。

負責任的說,我寫程式碼近 8 年,從學生時代開始,可以說 99% 的 Bug 都是自己解決的,所以大家不要有這種擔心,因為你學的技術幾乎都是主流的,你遇到過的 Bug,別人也一定遇到過。在遇到計畫報錯時,要先搜集足夠多的錯誤資訊(比如透過日誌),然後查閱搜尋引擎、技術社群、官方文件、甚至現在還可以問 AI,大機率是有解決方案的。即使真的沒辦法解決,在向他人求助前,要保證自己的問題描述地足夠清楚、並且清晰列舉已經嘗試過的解決方案,別人才能更快地幫你解決。

6)多讀官方文件。如今新技術層出不窮,不可能每個新技術都有好心人給你錄制保姆級教程。而且工作後,很多公司可能會有自研技術,只有內部同事用過,我們只能透過閱讀文件來解決。所以建議大家在學完一門新技術後,花 1 - 2 個小時就好,閱讀一下官方文件,不僅能了解一些教程講解之外的技術特性,還能提升自己閱讀文件、學習新技術的能力。

7)多寫文件。除了記筆記外,每做完一個計畫,都必須寫一篇完整的計畫總結文件。不要嫌麻煩,寫總結文件的過程中,你會從上帝視角再回顧一遍整個計畫的背景、設計、實作、亮點等,幫助你復習鞏固、加深印象。也便於你更快地將計畫寫在簡歷上、或者開源和分享自己的計畫。有能力的同學可以多畫一些圖,比如功能模組圖、架構圖、UML 類圖等,正所謂一圖勝千言,繪圖能力也是優秀程式設計師必備的特質。

如果你發現自己寫不出總結文件,那麽大機率你對這個計畫還是不夠熟悉,沒有完全掌握,這時再對照著自己的筆記快速回顧吧。

如果時間比較充足,最好是能夠口述整個計畫的背景、技術棧、核心業務流程、核心設計、計畫難點、開發過程、測試過程、上線過程、解決過最復雜的問題等等,鍛煉自己的表達能力,也為後續的面試做了準備。

8)自主最佳化。跟著教程完成計畫後,需要給計畫增加幾個擴充套件點、或者回顧自己的程式碼並尋找最佳化空間(比如最佳化程式碼規範),從而增加簡歷的區分度。這也是區別是否能夠入職大廠的一個重要因素。這個最佳化不一定是剛完成計畫時立刻就去做的,可以等過了半年後,再以現在的水平去最佳化之前做過的計畫,所以魚皮上面也建議了,自己寫的程式碼一定要留好。

9)上線計畫。在本地完成計畫後,最好將計畫上線,並且線上上正常執行一段時間,跑通整個流程,這是獨立開發者必備的技能。此外,之前也分享過, 。

10)主動分享。將計畫上線、並且編寫好計畫總結文件後,可以將計畫和文件分享給其他同學。這樣做的好處是,其他同學會幫助你 「測試」 網站,指出計畫的不足之處,從而給你帶來更多最佳化計畫的思路和機會,而且對其他同學也有幫助,會給你提供更多的正反饋。魚皮剛開始做分享也是這樣,透過輸出知識給自己帶來更多學習知識的動力。

11)學會合作。時間有限的情況下,不需要前端和後端都看教程並且自己實作,可以找和自己方向互補的朋友,協作開發,一起參加一些競賽也是極好的。


有同學會問了:魚皮啊,上面這些點都要做到,不會很費時間麽?

的確是這樣,但是想學好編程、熟練做出計畫,最最最重要的 2 點就是 掌握正確的方法 、並 投入大量的時間 ,沒有什麽捷徑。

只要這兩點都能做到,肯定能掌握獨立開發計畫的能力。


以上是通用的學好計畫的建議,如果是學習魚皮系列計畫,可以按照以下順序。

魚皮系列計畫的學習順序

學完至少一門前端(比如 Vue / React)或後端框架(比如 Spring Boot)後,可以開始魚皮原創計畫系列學習。

一種最快速的學習方法是,先透過魚皮的計畫實戰新技術,然後看完整的教程來系統學習新技術,事半功倍。

  1. 使用者中心計畫:適合新手入門,系統學習完整的計畫開發流程和上線方法。

  2. 夥伴匹配系統:鞏固開發流程,學習 Redis、事務、並行編程、大數據推薦思想等後端知識。

  3. API 開放平台:學習實踐前後端樣版開發 + 架構設計 + SDK 開發 + API 簽名認證 + Dubbo RPC + Gateway 微服務閘道器。

  4. 聚合搜尋平台:學習實踐爬蟲 + Elastic Stack + 設計模式 + 數據同步 + JMeter 壓力測試。

  5. 智慧 BI 計畫:學習實踐異步化 + 執行緒池 + RabbitMQ 訊息佇列 + AI 套用開發 + AIGC Prompt 最佳化。

  6. OJ 判題系統:學習實踐前後端樣版開發 + 多種設計模式 + 單體計畫微服務改造 + Linux 虛擬機器遠端開發 + Docker 程式碼沙箱 + Java 安全控制。

  7. 程式碼生成器共享平台:深入業務場景,學習實踐命令列開發、樣版引擎、Vert.x、設計模式、物件儲存、效能最佳化、儲存最佳化、系統設計、分布式任務排程系統等。

最後,送大家一張魚皮的計畫學習導圖,也歡迎大家 。

如果能做到上面幾點,認真完成並理解 4 個及以上的計畫,做計畫的能力可達中廠水平。


👇🏻 點選下方閱讀原文,獲取魚皮往期編程幹貨。

往期推薦