入職一家新公司,如何快速熟悉代碼?
點(diǎn)擊關(guān)注公眾號(hào),Java干貨及時(shí)送達(dá)
互聯(lián)網(wǎng)的薪資還是非常誘人的,高輒年薪百萬,低輒幾萬十幾萬,差異非常大
雖然,很多互聯(lián)網(wǎng)企業(yè)每年都有2% ~ 20% 不等的調(diào)薪
但是,這點(diǎn)工資漲幅跟程序員付出的辛苦相比,根本不值一提
因此,跳槽也就成為了很多程序員快速漲薪的首選方式
但,人的本性是喜歡穩(wěn)定,突然換一個(gè)陌生環(huán)境,開始時(shí)會(huì)有強(qiáng)烈的不安全感。
如何快速適應(yīng)新的工作環(huán)境?
這里面既要熟悉公司的企業(yè)文化、產(chǎn)品業(yè)務(wù)、技術(shù)框架、系統(tǒng)代碼,還要處理好身邊的同事關(guān)系。。。。
要面對(duì)的事情好多呀,生活太難了

當(dāng)然,程序員的工作首選還是快速熟悉系統(tǒng),進(jìn)而能快速上手寫代碼
Tom哥面試過500多位候選人,經(jīng)常也問候選人這個(gè)問題?
那么今天,就跟大家做個(gè)分享
首先,你要清楚,每個(gè)人的大腦想法都不一樣,正如莎士比亞說的,一千個(gè)人眼中有一千個(gè)漢姆雷特。
你如果按常規(guī)思路,去揣測(cè)別人的代碼思路,很容易陷入細(xì)節(jié)中

你不瘋,誰瘋!
先看文檔
設(shè)計(jì)文檔就像一座大樓的設(shè)計(jì)圖紙,讓我們對(duì)整個(gè)系統(tǒng)先有個(gè)直觀的認(rèn)識(shí)。
所以說,對(duì)于剛?cè)肼毜男氯耍欢ㄒ蜕磉呁掠绕涫菐愕膸熜指愫藐P(guān)系,給人家買買奶茶,請(qǐng)個(gè)午飯啥的,程序員一般內(nèi)心善良,很容易被打動(dòng)。

你后續(xù)的答疑肯定要麻煩人家,當(dāng)然人家也可能順手分享給你一些有用的技術(shù)文檔資料,你別小看著這個(gè),它對(duì)你快速熟悉系統(tǒng)起到了至關(guān)重要的作用。
特別注意:通常文檔與代碼存在一定的滯后性,比如修復(fù)線上bug、或者一些小需求,可能就沒有文檔更新,如果這類需求迭代較多時(shí),那么文檔與代碼的不一致性會(huì)很大。
記住一點(diǎn),文檔只是一個(gè)參考,不能全信。要不然你會(huì)被坑的很慘!
萬物都是相通
任何事情都是有技巧的,就像小時(shí)候語文老師教我們?nèi)绾螌懽魑囊粯樱?code style="font-size: 14px;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;background-color: rgba(27, 31, 35, 0.05);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;color: rgb(53, 179, 120);">總分、分總、總分總,這些框架思路大家一定不陌生。

比如上面系統(tǒng)架構(gòu),當(dāng)然每個(gè)公司的系統(tǒng)也是大同小異。
首先,最上層的業(yè)務(wù)輸入層,可能是頁面,也可能是對(duì)外的API接口
不管是哪一種形式,我們可以快速將其轉(zhuǎn)換為用例圖。通過用戶故事,幫助我們先了解整個(gè)系統(tǒng)的核心功能,讓我們對(duì)業(yè)務(wù)體系先有個(gè)體感。
家里有糧,心中不慌。
然后,就是另一端了,沒錯(cuò),就是底層的關(guān)系存儲(chǔ),將業(yè)務(wù)表的ER圖快速還原

不管中間的Service層、Manager層、infrastructure層如何復(fù)雜,最終數(shù)據(jù)肯定是要落盤存儲(chǔ)。打蛇要打七寸,解決問題要抓主要矛盾。
當(dāng)我們把業(yè)務(wù)表的 ER關(guān)系還原出來后,我們基本上能從上下兩端,快速摸清業(yè)務(wù)。
稍微有些經(jīng)驗(yàn)的架構(gòu)師、領(lǐng)域?qū)<覍?duì)于系統(tǒng)如何搭建,心中會(huì)形成個(gè)概要方案。
然后帶著這個(gè)思路,再去看代碼,不斷糾正自己心中的設(shè)想方案。就像拿著手電筒走路,不會(huì)兩眼一抹黑。
同事解惑,結(jié)果論證
當(dāng)然了,你全身心投入看了幾天的代碼,感覺懂了很多,但又缺少一種腳踏實(shí)地的感覺。
可能你也收集了一些問題,還沒有答案。
你可以找熟悉系統(tǒng)的同學(xué),占用人家一點(diǎn)時(shí)間尋求答疑解惑。當(dāng)然你也可以講下對(duì)系統(tǒng)的個(gè)人理解,聽聽別人的反饋,驗(yàn)證自己的理解是否有偏差。教學(xué)相長會(huì)讓自己進(jìn)步更快。
如果恰好你是老板的話,那相對(duì)容易很多,你可以安排團(tuán)隊(duì)成員對(duì)自己負(fù)責(zé)的模塊,梳理產(chǎn)出用例圖、類圖、狀態(tài)機(jī)、時(shí)序圖、流程圖、架構(gòu)圖等,既鍛煉了小伙伴們的邏輯思維能力、表達(dá)能力,也為自己熟悉系統(tǒng)提供更多的信息輸入。
最后
往 期 推 薦
1、程序員日常開發(fā)的八榮八恥! 2、上能寫代碼,下要“揍”黑客,還有什么不是程序員的“鍋”? 3、新手提交一個(gè)PR,卻創(chuàng)造了一項(xiàng)世界紀(jì)錄 4、你為什么不交女朋友,是因?yàn)椴幌雴幔浚?/a> 5、IntelliJ IDEA快捷鍵大全 + 動(dòng)圖演示 6、全球第三瀏覽器,封殺中國用戶這種操作! 點(diǎn)分享
點(diǎn)收藏
點(diǎn)點(diǎn)贊
點(diǎn)在看





