我今天剛剛?cè)肼氁患夜緦?shí)習(xí),需要熟悉已有的項(xiàng)目代碼 。因?yàn)槭堑谝淮谓佑|已上線的工程代碼、且代碼量超級(jí)大,所以把我看懵逼了 。想問下應(yīng)該怎么快速熟悉代碼呢?
這個(gè)問題可太真實(shí)了,讓我瞬間回想起自己進(jìn)第一家公司實(shí)習(xí)時(shí)的 “恐懼”。
面對(duì)前人堆積的屎山代碼、復(fù)雜的業(yè)務(wù)流程圖,我當(dāng)時(shí)心里只有一個(gè)念頭:我要回家!
不過隨著自己讀過的、寫過的代碼越來越多,感覺上手新項(xiàng)目也越來越迅速了 。下面給大家分享我的一點(diǎn)經(jīng)驗(yàn):如果給我一個(gè)新項(xiàng)目,我會(huì)怎么看?
我覺得可以遵循以下幾個(gè)步驟:
進(jìn)入一家新公司后,如果遇到不負(fù)責(zé)任的同事呢,可能直接甩給你項(xiàng)目地址,然后就讓你自己研究了 。這就好比產(chǎn)品經(jīng)理直接甩給你一個(gè)需求讓你直接上線一樣,怎么實(shí)現(xiàn)我不管 。
這種情況下,我們首先要做的事情是盡可能多地獲取項(xiàng)目相關(guān)信息,來幫助自己了解項(xiàng)目 。比如項(xiàng)目介紹文檔、項(xiàng)目功能說明文檔、業(yè)務(wù)流程圖、項(xiàng)目歷史迭代情況、項(xiàng)目架構(gòu)文檔、技術(shù)選型背景等等 。
像我的話,就會(huì)詢問同事:這個(gè)項(xiàng)目背景是什么呀?這個(gè)項(xiàng)目有沒有啥文檔呀?之類的 。
不過有些公司或項(xiàng)目可能過于敏捷,平時(shí)光做需求,不寫文檔,邏輯全靠口口相傳!
也沒關(guān)系,請(qǐng)同事給你介紹一下項(xiàng)目的業(yè)務(wù)和技術(shù)信息就好 。
剛進(jìn)公司有問題一定不能憋著,要多問,讓自己盡可能多地了解項(xiàng)目代碼之外的東西 。
技術(shù)是為業(yè)務(wù)服務(wù)的,千萬不要連自己項(xiàng)目是干嘛的、有什么功能、為什么要做這個(gè)功能都不知道,就去看代碼、想著快速把需求完成 。最好不要把自己當(dāng)成臨時(shí)工,而是要當(dāng)成項(xiàng)目的 負(fù)責(zé)人 。
我的話一般會(huì)先閱讀文檔或者請(qǐng)同事來給我介紹項(xiàng)目的 背景,即為什么要做這個(gè)東西;然后對(duì)著產(chǎn)品本身(可能是網(wǎng)頁或者 APP)來體驗(yàn)項(xiàng)目的功能;最后再重點(diǎn)關(guān)注自己要做的業(yè)務(wù)、負(fù)責(zé)的功能模塊,了解它的歷史、業(yè)務(wù)邏輯等 。
整體的思想就是從整體到局部,由大到小吧 。
這里為什么我反復(fù)強(qiáng)調(diào)要了解項(xiàng)目的背景呢?聰明的朋友一定能想到 。因?yàn)槟銊傔M(jìn)一家新公司或者一個(gè)新項(xiàng)目,如果自己啥都不懂,別人說啥你就做啥,就很有可能出現(xiàn)這個(gè)項(xiàng)目 / 功能本身根本沒有任何意義、你只是幫忙收拾了個(gè)爛攤子的情況 。。。
閱讀公司的項(xiàng)目過程其實(shí)和閱讀開源項(xiàng)目是一樣的,基本上項(xiàng)目的代碼倉庫都會(huì)有一個(gè) README.md文件 。
這個(gè)文件往往會(huì)介紹項(xiàng)目的背景、功能、技術(shù)棧、如何啟動(dòng)、如何貢獻(xiàn)代碼等等 。
我會(huì)先整體掃一遍文檔的 目錄,然后優(yōu)先關(guān)注項(xiàng)目的技術(shù)棧以及如何啟動(dòng) 。
一般 GitHub 等項(xiàng)目平臺(tái)都會(huì)幫你生成文檔目錄,可以很快地跳轉(zhuǎn) 。也可以把文檔下載到本地,用 Typora 之類的 Markdown 編輯器打開,從而清晰地看到文檔的目錄 。
項(xiàng)目文檔目錄
因?yàn)槿绻懔私饬隧?xiàng)目用到的技術(shù),而你正好會(huì)用這個(gè)技術(shù)的話,心里就多了幾分底氣,項(xiàng)目的架構(gòu)也能大致了解了,后面再去看代碼就輕松地一批 。
舉個(gè)例子,看到技術(shù)棧中出現(xiàn)了 Ant Design Pro,我正好用過!我就知道這個(gè)項(xiàng)目大概率使用了 React、Ant Design、Webpack、Dva、Umi 等技術(shù)了,它的代碼結(jié)構(gòu)如何、配置文件在哪里、頁面文件在哪里、如何啟動(dòng)也差不多能 get 到 。
Ant Design Pro
像我平時(shí)在 GitHub 上找開源項(xiàng)目時(shí),除了功能外,就是關(guān)注技術(shù)棧,如果項(xiàng)目文檔中提到的技術(shù)我都會(huì)用,那么我就很有自信這個(gè)項(xiàng)目我肯定能學(xué)的動(dòng)、學(xué)得懂 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助:- 小孩睡覺盜汗怎樣調(diào)理 小孩睡覺出汗多是什么原因
- 怎樣養(yǎng)成好的運(yùn)動(dòng)習(xí)慣
- 雨刮器怎樣拆卸和安裝 如何更換雨刮器的膠條
- 怎樣鍛煉才會(huì)延緩衰老
- 怎樣查詢自己的機(jī)票信息 不是本人訂票怎么查
- 除濕機(jī)怎樣清潔
- 喝酒前喝牛奶還是酸奶 牛奶怎樣喝最好
- 不動(dòng)產(chǎn)稅個(gè)人交還是開發(fā)商交 不動(dòng)產(chǎn)交稅怎樣交
- 看健美操怎樣幫你減掉小腹
- 面團(tuán)沒有彈性容易斷 面怎樣和才可以有彈性
