3分鐘,教你快速熟悉新項目!
掃描二維碼
隨時隨地手機(jī)看文章
如何快速熟悉一個對你來說完全陌生的項目?這可能是很多人都會遇到的難題。但如果掌握了方法論,它也可以是一道加分題。
最近有位粉絲朋友也遇到了同樣的問題,尋求我的意見,其實我和大家一樣,走了不少彎路。痛定思痛,程序喵總結(jié)了下自己之前熟悉新項目的心路歷程,嘗試著“在巨人的肩膀上”總結(jié)出一套方法論,希望對大家有幫助!
01
業(yè) 務(wù) 理 解
不 要 一 上 來 就 看 代 碼!
CSDN上,關(guān)于“程序員 業(yè)務(wù)理解 重要”的搜索結(jié)果有20頁,洋洋灑灑,有老程序員的躊躇,也有新程序員的困惑。
了解一個項目,首先要了解其業(yè)務(wù),很多技術(shù)人(尤其是小年輕)都專注于編程技術(shù)的學(xué)習(xí)與沉淀,卻忽略了對業(yè)務(wù)的理解。
事實上,技術(shù)無論多么高超終究還是為業(yè)務(wù)服務(wù)的,很多公司(不乏阿里這種大公司)在面試候選人時,也會重點考察面試者對業(yè)務(wù)的理解。不同的行業(yè),不同的公司,業(yè)務(wù)邏輯也不一樣,高級工程師不僅技術(shù)NB,也更懂得怎么用技術(shù)驅(qū)動業(yè)務(wù)。
那么你要問了,啥是業(yè)務(wù)理解?
我建議大家可以從尋找下面這些問題的答案入手,如果你搞懂了80%,你也就明白了業(yè)務(wù)的意義。
-
這個項目是做什么的?誰是我們的用戶?和同類項目比,我們有哪些差異或優(yōu)勢?
-
項目的負(fù)責(zé)人是誰?項目的參與者都有誰?項目的上下游都有哪些?是公司的其它部門還是外部用戶?嘗試找到熟悉項目的人,等自己遇到問題的時候就可以抓到人去請教。 -
嘗試著了解項目的主要功能都有什么? -
項目的遺留問題,目前面臨的問題,以及將來的規(guī)劃。只有了解了項目的相關(guān)業(yè)務(wù),了解的項目的整體流程,對整體有所把握,之后看代碼時才會有方向。
Tips:
可以先向熟悉項目的人請教業(yè)務(wù)流程,熟悉項目相關(guān)的所有資料:產(chǎn)品功能架構(gòu)圖,業(yè)務(wù)流程圖,功能圖,用例圖,需求文檔,設(shè)計文檔,運(yùn)營手冊等。
02
技 術(shù) 學(xué) 習(xí)
了解完項目的整體流程,就可以開始看代碼啦!
-
了解項目的編譯環(huán)境和運(yùn)行環(huán)境。 -
找到項目的架構(gòu)圖,了解項目的子系統(tǒng)和子模塊,以及它們之間的關(guān)系。 -
根據(jù)運(yùn)行效果和項目的架構(gòu)圖,在代碼中找到每個效果、每個子系統(tǒng)在代碼中的對應(yīng)位置。 -
弄清楚項目的關(guān)鍵輸入和輸出都有什么? -
項目有哪些配置文件,都是什么格式? -
項目有沒有接入第三方SDK,接入的第三方SDK提供了什么能力。 -
項目使用了什么框架,什么中間件,什么工具包。
03
實踐強(qiáng)化
當(dāng)我們熟悉了項目相關(guān)的業(yè)務(wù),項目的主要流程,并了解了項目相關(guān)功能的代碼后,可以嘗試著去實踐強(qiáng)化。以一個小需求做為切入點,這個需求可以是產(chǎn)品提出的需求,也可以是自己提的需求,如有沒有小bug可以修,或是代碼中有沒有可以優(yōu)化的代碼,重構(gòu)一些有缺陷的代碼,把這些作為切入點,自己動手編碼,調(diào)試,測試和發(fā)布,讓自己對項目更加熟悉,實踐出真知,個人認(rèn)為只看代碼不如多動手實踐。
04
多思考
熟悉了代碼后,我們不妨多做一些思考,
項目架構(gòu)為什么這么設(shè)計?
為什么要接入這個SDK?
為什么要用這個中間件?
項目目前有哪些坑?
項目有沒有些可以優(yōu)化的地方?
這些思考不僅可以幫助我們加深對項目和業(yè)務(wù)的理解,同時也有助于提高架構(gòu)能力。
總結(jié)
業(yè)務(wù)理解+技術(shù)學(xué)習(xí)+時間強(qiáng)化+多思考
參考資料
https://zhuanlan.zhihu.com/p/135411056
https://blog.csdn.net/CLG_CSDN/article/details/99713903
https://www.reddit.com/r/learnprogramming/comments/2x4nq8/how_to_get_familiar_with_an_existing_project_from/
往期推薦
|
|||
|
|||
|
|||
|
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!