乾貨!攻城獅的交流分享!聊一聊開發人員快速提升自己的方式

建立一個實質性的項目

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

向開源做貢獻

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

開源軟件包

  • 構建自己的開源軟件包,要確保不是來自某個教程,是真正想發佈給別人的東西

記錄創作過程

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

別人的代碼庫

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

閱讀高級代碼

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

應該閱讀什麼代碼

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

如何閱讀源碼

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

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

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