精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
大型項目工程代碼快速上手指北
最近入職新公司,在學習產品業務文檔的時候,發現團隊內部沒有業務文檔沉淀;雖說師兄能培訓一些業務知識,但這些都是“面”層面的內容,掌握核心業務,必須了解核心業務知識以及易踩坑點。沒有業務文檔怎么辦呢?那就必須扒項目代碼中業務的實現邏輯了。當然程序員在工作過程中,會遇到很多需要閱讀代碼的場景,比如學習技術框架源碼、review他人的代碼、維護老產品等等。毫無疑問,閱讀代碼是程序員的基本功,這項基本功是否扎實,會在很大程度上影響一個程序員在技術上的成長速度。

啃了將近兩周的項目代碼,本人也總結出來一些快速吃透項目代碼的套路,下面就給大家分享一下我的經驗。

目的

凡事預則立,不預則廢;帶著目的性做事情更容易成功,讀代碼也是一樣。當我們需要閱讀代碼時候,一定要明確自己的目的,無非有以下兩種目的:

  • 學習框架源碼
  • 產品代碼維護

計劃

明確目的后,必須給自己制定完成這件事情的過程中各個節點應達到的目標。主要是為了check你的學習質量。比如:學習Kafka項目源碼,你的目的是為了在新的項目中更加游刃有余使用Kafka解決業務問題;那么針對你投入的學習時間,可以制定三個階段的學習計劃以及要達成目標;各個目標建議給自己制定一個需要實踐的任務,這樣通過項目檢驗自己的學習質量。

 

上下文

什么是上下文呢?舉個例子:高考,我們參加高考基本上務必需要掌握小學、初中、高中各個年級的基礎知識,這樣我們在考場做題時候就可以將這些知識應用于解題,那么這些基礎知識就是上下文。回到我們源碼學習場景中,上下文可以分為 通用技術、業務基礎。

  • 業務基礎:每一份有實際意義的源碼都離不開業務,必須先對業務有基本的概念。
  • 通用技術:每個復雜的項目肯定是運用了各種保證業務實現的技術框架。就Java語言實現的項目而言,Spring框架、分布式框架、消息隊列框架、分表分庫框架等這些基本都會涉及到。學習項目代碼前,如果不懂這些框架,那么看代碼的過程就像看天書一樣。
  • 其他資源:能幫你解決看代碼過程中遇到問題的工具都可以稱之為資源。

工具

工欲善其事必先利其器。利用工具可以讓我們事半功倍,我在學習過程中用到的工具如下:

  • PlantUML,這是一款IDEA 插件,即安裝即用,非常方便。可以讓你隨時繪制各種圖(類圖、時序圖、流程圖等),而且語法也相當簡單。傳送門
  • 飛書云空間、石墨文檔、幕布等,記錄閱讀源碼過程中的關鍵點、心得體會、分析過程
  • Visual Paradigm,用于繪制簡單的框圖,表述源碼的模塊劃分、層次結構等.
  • xmind 8, 畫思維導圖,可以將學習的內容鋪成一個面。

筆記

在閱讀源碼的過程中,做筆記是必須的。因為代碼不是自己寫的,很難很快在腦子里刻下印記,經常是看著這里忘了那里,早上覺得弄懂了數據流向,但是中午吃個飯,下午開始干活的時候又忘了原先的鏈路。所以,多記筆記就顯得尤為重要。

  • 建議用軟件(飛書云空間、石墨文檔)記錄,這樣可以將文檔整理成冊,將來也可以給團隊增加文檔產出。
  • 關鍵action盡可能詳細記錄,但不必看到什么記錄什么。比如弄明白了某個子模塊的邏輯、某個類的作用、某些函數的調用關系時再記錄,否則記錄這個動作本身會打斷思考。
  • 每天工作結束,記錄學習進度,記錄疑問(以及明天找誰進行咨詢),明日計劃等。

 

總結

下面的一些經驗供大家參考:

  • 將業務模型和數據模型建立映射關系。
  • 理清模塊間的依賴關系。
  • 找出關鍵action代碼,并畫出時序圖、流程圖。
  • 如果能運行代碼,強烈建議調試代碼,核心方法打斷點,這樣可以更清楚調用鏈路。
  • 讀不懂才要讀,想不明白才要想,這是進步和成長的開始。

 

本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
如何閱讀百萬行的“s山”代碼
如何正確的閱讀源代碼?
基于DDD的現代ASP.NET開發框架
從0開始:如何看懂源碼
這樣讀源碼,不牛X也難
做前端,看完這篇文章你也可以做到
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 阿瓦提县| 巴楚县| 大庆市| 闽侯县| 甘德县| 岚皋县| 玉环县| 枣强县| 永吉县| 铁岭市| 浦县| 大荔县| 凤庆县| 鹤庆县| 景泰县| 友谊县| 朝阳区| 闻喜县| 高平市| 墨江| 寻甸| 醴陵市| 瑞安市| 滦南县| 南木林县| 柳河县| 大港区| 久治县| 高密市| 穆棱市| 卓尼县| 辰溪县| 金华市| 库车县| 神农架林区| 光泽县| 澳门| 永修县| 乌拉特中旗| 公主岭市| 卓尼县|