我今天剛剛?cè)肼氁患夜緦?shí)習(xí),需要熟悉已有的項(xiàng)目代碼 。因?yàn)槭堑谝淮谓佑|已上線的工程代碼、且代碼量超級(jí)大,所以把我看懵逼了 。想問(wèn)下應(yīng)該怎么快速熟悉代碼呢?
【初學(xué)者怎樣看懂代碼 新手如何快速學(xué)代碼】這個(gè)問(wèn)題可太真實(shí)了,讓我瞬間回想起自己進(jìn)第一家公司實(shí)習(xí)時(shí)的 “恐懼”。
面對(duì)前人堆積的屎山代碼、復(fù)雜的業(yè)務(wù)流程圖,我當(dāng)時(shí)心里只有一個(gè)念頭:我要回家!
不過(guò)隨著自己讀過(guò)的、寫(xiě)過(guò)的代碼越來(lái)越多,感覺(jué)上手新項(xiàng)目也越來(lái)越迅速了 。下面給大家分享我的一點(diǎn)經(jīng)驗(yàn):如果給我一個(gè)新項(xiàng)目,我會(huì)怎么看?
我覺(jué)得可以遵循以下幾個(gè)步驟:
進(jìn)入一家新公司后 , 如果遇到不負(fù)責(zé)任的同事呢,可能直接甩給你項(xiàng)目地址 , 然后就讓你自己研究了 。這就好比產(chǎn)品經(jīng)理直接甩給你一個(gè)需求讓你直接上線一樣,怎么實(shí)現(xiàn)我不管 。
這種情況下,我們首先要做的事情是盡可能多地獲取項(xiàng)目相關(guān)信息 , 來(lái)幫助自己了解項(xiàng)目 。比如項(xiàng)目介紹文檔、項(xiàng)目功能說(shuō)明文檔、業(yè)務(wù)流程圖、項(xiàng)目歷史迭代情況、項(xiàng)目架構(gòu)文檔、技術(shù)選型背景等等 。
像我的話,就會(huì)詢問(wèn)同事:這個(gè)項(xiàng)目背景是什么呀?這個(gè)項(xiàng)目有沒(méi)有啥文檔呀?之類的 。
不過(guò)有些公司或項(xiàng)目可能過(guò)于敏捷 , 平時(shí)光做需求,不寫(xiě)文檔,邏輯全靠口口相傳!
也沒(méi)關(guān)系 , 請(qǐng)同事給你介紹一下項(xiàng)目的業(yè)務(wù)和技術(shù)信息就好 。
剛進(jìn)公司有問(wèn)題一定不能憋著,要多問(wèn),讓自己盡可能多地了解項(xiàng)目代碼之外的東西 。
技術(shù)是為業(yè)務(wù)服務(wù)的,千萬(wàn)不要連自己項(xiàng)目是干嘛的、有什么功能、為什么要做這個(gè)功能都不知道,就去看代碼、想著快速把需求完成 。最好不要把自己當(dāng)成臨時(shí)工 , 而是要當(dāng)成項(xiàng)目的 負(fù)責(zé)人 。
我的話一般會(huì)先閱讀文檔或者請(qǐng)同事來(lái)給我介紹項(xiàng)目的 背景,即為什么要做這個(gè)東西;然后對(duì)著產(chǎn)品本身(可能是網(wǎng)頁(yè)或者 APP)來(lái)體驗(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)目,如果自己啥都不懂,別人說(shuō)啥你就做啥,就很有可能出現(xiàn)這個(gè)項(xiàng)目 / 功能本身根本沒(méi)有任何意義、你只是幫忙收拾了個(gè)爛攤子的情況 。。。
閱讀公司的項(xiàng)目過(guò)程其實(shí)和閱讀開(kāi)源項(xiàng)目是一樣的,基本上項(xiàng)目的代碼倉(cāng)庫(kù)都會(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 編輯器打開(kāi),從而清晰地看到文檔的目錄 。
項(xiàng)目文檔目錄
因?yàn)槿绻懔私饬隧?xiàng)目用到的技術(shù) , 而你正好會(huì)用這個(gè)技術(shù)的話,心里就多了幾分底氣,項(xiàng)目的架構(gòu)也能大致了解了,后面再去看代碼就輕松地一批 。
舉個(gè)例子,看到技術(shù)棧中出現(xiàn)了 Ant Design Pro , 我正好用過(guò)!我就知道這個(gè)項(xiàng)目大概率使用了 React、Ant Design、Webpack、Dva、Umi 等技術(shù)了,它的代碼結(jié)構(gòu)如何、配置文件在哪里、頁(yè)面文件在哪里、如何啟動(dòng)也差不多能 get 到 。
Ant Design Pro
像我平時(shí)在 GitHub 上找開(kāi)源項(xiàng)目時(shí),除了功能外,就是關(guān)注技術(shù)棧,如果項(xiàng)目文檔中提到的技術(shù)我都會(huì)用,那么我就很有自信這個(gè)項(xiàng)目我肯定能學(xué)的動(dòng)、學(xué)得懂 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問(wèn)題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!
「愛(ài)刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助:- 給老師送禮什么方式比較好 怎樣給老師送禮最聰明
- 銀行卡注銷了還能查到流水嗎 怎樣徹底刪除銀行流水
- 怎樣吃西紅柿減肥 7款西紅柿減肥食譜營(yíng)養(yǎng)更消脂
- 怎樣飲食減肥最有效 多吃六種零食最有效
- 微信群轉(zhuǎn)發(fā)多選怎樣超過(guò)9個(gè) 微信一鍵轉(zhuǎn)發(fā)多個(gè)群
- 外賣平臺(tái)排名靠前怎樣提升 外賣店怎么才能做起來(lái)
- 打麻將的秘訣是什么怎樣才會(huì)贏 麻將公式一定要背下來(lái)
- 做法簡(jiǎn)單零失敗 包菜怎樣炒好吃又簡(jiǎn)單
- 華為鴻蒙系統(tǒng)怎么換回安卓系統(tǒng) 華為手機(jī)怎樣恢復(fù)舊系統(tǒng)
- 包菜怎么炒才好吃? 包菜怎樣炒好吃又簡(jiǎn)單
