新人如何快速上手新項目?

剛剛畢業入職,還沒有太多的項目經驗,如何快速上手一個完全陌生的項目?可能很多人都遇到過這樣的問題,我也在這個問題上走了很多彎路,總結出了一些方法與大家分享。

1.先理解業務

技術終歸是為業務服務的,先理解了這個項目的業務邏輯,才能真的明白程式碼到底是什麼意思。剛畢業時太過專註於編程技術相關知識的學習,忽略了對業務的理解,這種情況下即使花費很大的功夫去看程式碼,效率也不會很高。
那麼如何去理解業務呢?

以下的問題可以作為參考:
這個項目是做什麼的?
誰是這個項目的用戶?
和同類項目比,我們有哪些差異或優勢?
項目的負責人是誰?項目的參與者都有誰?參與者都負責哪個部分的功能?
嘗試著了解項目的主要功能都有什麼?
項目的整體架構是怎樣的?
項目的遺留問題,目前面臨的問題,以及將來的規劃?

只有了解了項目的相關業務,了解的項目的整體流程,對整體有所把握,之後看程式碼時才會有方向。

嘗試找到熟悉項目的人,等自己遇到問題的時候就可以抓到人去請教。一定要主動。
不要一開始就看程式碼!
不要一開始就看程式碼!
不要一開始就看程式碼!

2.閱讀程式碼時要注意的問題

理解了業務以後就可以閱讀理解程式碼了,在閱讀程式碼的過程中有一些問題需要注意。

1.抓住重要的、核心的流程

閱讀程式碼的時候不是每行程式碼都需要仔細研究的,要明白那些是重要的程式碼,這部分重點理解,很多程式碼其實並不需要花費太多的精力去研究。當然,時間和精力允許的話還是要做到每一個細節都非常熟悉。

2.不要陷入到技術細節中。

閱讀程式碼的過程中某些知識點忘記了是很正常的事情,如果對閱讀程式碼沒有比較大影響沒有必要中斷閱讀程式碼的進度去複習這些知識。有些底層庫的程式碼寫的很巧妙也不是非要立刻把它研究明白。一切以快速上手為主,這些事情可以在時間富裕的情況下去做。

3.把程式碼和實際使用時的操作聯繫起來

用戶做什麼操作的時候會觸發這個函數?為什麼用戶點擊某個圖標要調用這個函數?同樣的操作在不同的使用場景下為何觸發不同的邏輯?把這些實際的操作和程式碼聯繫起來可以更好的理解程式碼。

3.多動手實踐

只是看程式碼很多時候並不能真正理解程式碼,很多時候只是以為自己理解了,實際進行需求開發的時候還是理不清思路。所以要多動手寫程式碼。比如說自己去查找一些bug出現的原因,嘗試修改bug。如果沒有bug,也可以自己拉一個分支,基於項目程式碼去實現一些功能,這樣才能真正的理解程式碼。

4.多學習、多思考

理解了程式碼之後可以做更多的思考。比如,為什麼架構要這樣設計?程式碼是否還有優化的空間?這樣可以加深對項目的理解,也可以提升架構方面的能力。

總結

理解業務、分清主次、多實踐、多思考。另外,要培養自驅力,主動的去學習。

參考://zhuanlan.zhihu.com/p/135411056