天天看點

幹貨!攻城獅的交流分享!聊一聊開發人員快速提升自己的方式建立一個實質性的項目向開源做貢獻閱讀進階代碼了解更多的程式設計設計模式和原理

建立一個實質性的項目

  • 從不同的視角,端點功能觸發, 建構具有獨特性且能展示開發人員創造力的應用
    • web後端架構 -了解如何建構架構
    • 利用主要使用的程式設計語言建構一個程式包,并在多個項目中使用
  • 圍繞自己超級感興趣的事物建構一個更大的項目
  • 建構一個完全超乎你目前了解範圍的事物

向開源做貢獻

  • 建構自己的開源軟體包,應用程式
  • 向現有的代碼庫貢獻代碼

開源軟體包

  • 建構自己的開源軟體包,要確定不是來自某個教程,是真正想釋出給别人的東西

記錄創作過程

  • 記錄建立的原因以及思考過程
  • 從新的角度思考問題并獲得新的見解

别人的代碼庫

  • 檢視GitHub上流行軟體包和插件的代碼庫,很可能這些軟體包中含有很多未解決的問題
  • 首先仔細閱讀代碼庫制定的代碼貢獻指南,即README.md檔案,然後開始解決問題,進一步添加一些實用的功能:
    • 證明自己能夠遵循程式設計準則
    • 盡快成為開源社群的一員
    • 熟練掌握分叉,拉取請求和送出
    • 了解社群維護的軟體包,有機會采用一些更好的程式設計實踐

閱讀進階代碼

  • 努力了解代碼,并和自己的代碼進行比較,設法尋找可以改善自己的實作的模式,同時記錄下所有能夠提高自己工作流程的技術細節
  • 可以從社群尋找開源項目,閱讀并了解代碼
  • 在閱讀其他開發人員的代碼時,盡量将遇到的問題向開發者提出來,如果有人能夠回答你的問題,就更好了,你需要讓他們知道你在努力了解進階代碼,請求他們回答你的問題

應該閱讀什麼代碼

閱讀你真正用得着的代碼
  • 閱讀那些你已經在使用的插件或者庫檔案源碼
  • 為閱讀的代碼添加注釋,文檔
閱讀印象深刻的代碼
  • 遇到的印象深刻的項目
  • 了解項目所基于的開源技術
閱讀你尊敬的大師寫出的代碼
  • 關注那些優秀的程式員
閱讀給你帶來靈感的代碼
  • 在初期選擇一個小項目進行閱讀,這樣可以關注細節,學習到更多知識

如何閱讀源碼

先看大架構
  • 在宏觀層面上熟悉代碼是如何實作的(README.md), 項目的網站,教程,文檔
  • 大緻浏覽項目的結構
  • 注意項目的檔案結構
  • 目标:
    • 熟悉源代碼
    • 找出哪些檔案包含,請求,加載其他檔案
    • 大部分代碼在哪裡
    • 命名空間以及相關性質
記錄閱讀心得
  • 當開始了解程式流時,為代碼添加注釋,記錄你的假設和結論
  • 随着了解的進展,删除無關緊要的注釋
邊閱讀邊測試
  • 當閱讀别人代碼時,測試是最佳了解代碼程式流的方式:記錄了代碼應該完成的任務
  • 在閱讀時,試着讓測試套件成功運作
  • 這樣確定開發環境配置恰當,在進行更改優化時更加得心應手
親自動手做
  • 為代碼的實作添加或者更改邏輯但不要破壞代碼
  • 嘗試給代碼中添加功能
  • 設定項目範圍的日志記錄

了解更多的程式設計設計模式和原理

  • 仔細閱讀每個模型的定義
  • 搜尋學習每個模型的示例
  • 快速閱讀設計模式和原理

繼續閱讀