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


作為一個程序員,我們很少能從頭到尾參與一個新項目的開發。如果你經常開發的是新項目,那你真是太幸福了。

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

還有一種情況就是領導不知道從哪里弄過來一個系統和一堆文檔,然后就直接就把系統交給你了維護了。

遇到以上幾種情況我們怎樣才能快速熟悉上手項目,應對生產問題呢?下面是我自己在工作中的一點總結,希望能對大家有所幫助。

資料要要全

當你接手一個新項目(別人的項目)的時候,你要第一時間向把項目移交給你的人要到所有的資料。因為在這之后,這個同事可能就會離職了,到時再要什么文檔就不太方便了。一般情況下,你需要拿到這些資料:

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

技術棧要看懂

拿到文檔資料后,我個人的經驗是先要快速瀏覽下文檔(業務文檔,需求文檔或者接口文檔等),不需要看清文檔的每個段落,但是我們要通過略讀文檔知道這個系統大概是干什么的,有哪些功能。這點對我們后續看代碼幫助很大。

熟悉項目技術棧

快速瀏覽完文檔之后,我們就要開始看代碼了。這個階段,你需要能將代碼在本地跑起來,知道這個項目運用了哪些技術棧(看看項目依賴了哪些外部包大致可以看出來這個系統用了哪些技術),每個技術棧的作用是什么。

熟悉系統的表設計

系統的表設計是整個系統的核心,只有熟悉了表設計,才能對整個系統的功能有大致的了解。熟悉表設計也是看懂業務代碼的前置條件。

熟悉上下游系統

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

知道去哪里查日志

日志是查線上問題的關鍵,必須要知道怎么查日志,去哪里查日志。

知道怎么打包

接了新需求或者改了Bug之后你肯定要發布吧,那你必須要知道這個怎么打包部署。

知道怎么部署

同上

熟悉業務代碼

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

但是有的系統比較穩定了,也不會再加什么新功能,對於這種系統要不要深入研究就需要我們自己權衡了。因為時間成本上可能划不來。

下面是我熟悉業務的一般流程:

  • step1:在看業務代碼之前,首先需要看完數據庫的表設計,不然會不知所雲。

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

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

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

  • step5:類似其他的交互

關於熟悉業務代碼這塊可能沒有太通用的方法,還是需要大家自己總結。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM