程序員必備技能——怎樣快速接手一個項目

做爲一個程序員,咱們不多能從頭至尾參與一個新項目的開發。若是你常常開發的是新項目,那你真是太幸福了。git

更多的狀況是半路進入一個項目組進行開發,或者是有其餘同事離職了,以前由他維護的系統轉交給你維護。程序員

還有一種狀況就是領導不知道從哪裏弄過來一個系統和一堆文檔,而後就直接就把系統交給你了維護了。數據庫

遇到以上幾種狀況咱們怎樣才能快速熟悉上手項目,應對生產問題呢?下面是我本身在工做中的一點總結,但願能對你們有所幫助。svn

資料要要全

當你接手一個新項目(別人的項目)的時候,你要第一時間向把項目移交給你的人要到全部的資料。由於在這以後,這個同事可能就會離職了,到時再要什麼文檔就不太方便了。通常狀況下,你須要拿到這些資料:加密

  • 項目代碼的地址(svn地址或者是git地址);
  • 系統部署的Linux機器地址,登錄的用戶名和密碼(方便登錄上去看看機器的運行情況)
  • 數據庫地址/用戶名/密碼(不要覺得全部項目中都會有用戶名密碼,有些項目會將用戶名密碼加密)
  • 系統的登錄用戶/密碼(若是系統有頁面,將能夠登錄的用戶要一個,不用本身再造用戶了)
  • 其餘中間件地址(MQ、Redis等)
  • 需求文檔
  • 接口文檔
  • 其餘全部資料(上面的文檔時必須的,若是除此以外還能拿到其餘文檔,均可以保存下來)

技術棧要看懂

拿到文檔資料後,我我的的經驗是先要快速瀏覽下文檔,不須要看清文檔的每一個段落,可是咱們要經過略讀文檔知道這個系統大概是幹什麼的,有哪些功能。這點對咱們後續看代碼幫助很大。debug

熟悉項目技術棧

快速瀏覽完文檔以後,咱們就要開始看代碼了。這個階段,你須要能將代碼在本地跑起來,知道這個項目運用了哪些技術棧,每一個技術棧的做用是什麼。設計

熟悉上下游系統

搞清楚了上下游系統,咱們就知道了誰調用了咱們系統,或是咱們的系統調用了誰,查起問題來也能有的放矢。3d

知道去哪裏查日誌

日誌是查線上問題的關鍵,必需要知道怎麼查日誌,去哪裏查日誌。日誌

知道怎麼打包

接了新需求或者改了Bug以後你確定要發佈吧,那你必需要知道這個怎麼打包部署。中間件

知道怎麼部署

同上

熟悉業務代碼

到了最關鍵的一步了,可是對於這步我以爲不一樣的系統咱們能夠區別對待下。有的系統咱們接手過來是要在此基礎上長期開發維護的,那這種系統就須要咱們好好梳理下業務。

可是有的系統比較穩定了,也不會再加什麼新功能,對於這種系統要不要深刻研究就須要咱們本身權衡了。由於時間成本上可能划不來。

下面是我熟悉業務的通常流程:

  • step1:在看業務代碼以前,首先須要看完數據庫的表設計,否則會不知所云。

  • step2:而後就是梳理各個接口了,通常是各個Controller(通常系統功能都是經過Controller暴露出去的),若是你能每一個接口跟進去debug一遍,整個調用流程都梳理清楚,那麼這個業務你就梳理清楚了(這步最好根據接口文檔來梳理)

  • step3:固然,系統的功能不都是由Controller提供的,有的是經過定時任務來觸發的,因此你要看看系統中配置了哪些定時任務,都實現哪些功能;

  • step4:還有的功能是經過消費MQ觸發的,因此也要看看有沒MQ相關的交互;

  • step5:相似其餘的交互

關於熟悉業務代碼這塊可能沒有太通用的方法,仍是須要你們本身總結。

相關文章
相關標籤/搜索