一個(gè)程序員前輩教給我的學(xué)習(xí)方法

今年轉(zhuǎn)行開(kāi)始做前端程序員,新入職場(chǎng)公司安排一個(gè)全棧大牛帶我鲤看。
從決定轉(zhuǎn)行起,自學(xué)了大概半年,感覺(jué)還不錯(cuò),比傳統(tǒng)的老師授課模式效果好多了缘揪。在這個(gè)過(guò)程中我領(lǐng)悟了一個(gè)道理:

學(xué)習(xí)說(shuō)到底還是自己的事,有人教自然好,但是主要還是依賴(lài)自己下功夫。

事實(shí)上,今天我還是這么認(rèn)為的,所以當(dāng)初對(duì)于公司的安排我不以為意刨摩。沒(méi)有想到,在三個(gè)月后前輩給了我兩個(gè)意外:

  1. 他刷新了我對(duì)學(xué)習(xí)編程的認(rèn)識(shí)寺晌。
  2. 他在我入職三個(gè)月后離職了世吨。

工作已經(jīng)半年了,我在實(shí)踐中不斷反思他說(shuō)過(guò)的話(huà),也逐漸能明白他當(dāng)時(shí)的意思,現(xiàn)在做一下總結(jié)澡刹。

注重實(shí)踐,理解放后面

工作中會(huì)遇到各種難題,然后我去找前輩請(qǐng)教時(shí), 常常本被前輩說(shuō)問(wèn)了一個(gè)錯(cuò)誤的問(wèn)題,并念叨著:“注重實(shí)踐,理解放后面。”學(xué)習(xí)就是對(duì)知識(shí)的理解,為什么要放后面呢?我們來(lái)剖析一下這個(gè)問(wèn)題:

  1. 沒(méi)必要討論原理,每個(gè)人的理解不同
    所謂的理解,就是對(duì)代碼實(shí)現(xiàn)原理的理解,當(dāng)前代碼實(shí)現(xiàn)邏輯的背后往往還有源碼,而源碼的背后還有更深的源碼,所以原理本身是復(fù)雜且有相對(duì)性的耘婚。因?yàn)檫@種特性,導(dǎo)致了每個(gè)人對(duì)原理的理解是不同的罢浇。對(duì)于這種復(fù)雜且沒(méi)有標(biāo)準(zhǔn)答案的問(wèn)題,討論起來(lái)對(duì)現(xiàn)實(shí)的意義很小,所有沒(méi)有必要討論。

  2. 若理解是正確的話(huà),可以找到方法來(lái)證明,不需要跟人討論
    代碼是可以不會(huì)騙人的,所以相比于跟人討論,不管從效率角度還是不被誤導(dǎo)的角度來(lái)看,用代碼驗(yàn)證理解都是最佳選擇。

  3. 沒(méi)有足夠的前置知識(shí),無(wú)法談理解
    當(dāng)雙方?jīng)]有具備在一個(gè)層次上的相關(guān)的知識(shí)來(lái)談原理, 往往不構(gòu)成交流,只是雞同鴨講,浪費(fèi)時(shí)間嚷闭。

  4. 關(guān)注解決問(wèn)題的方法才能離真相更近
    在不斷遇到問(wèn)題,尋找方法解決問(wèn)題中,自然會(huì)對(duì)代碼產(chǎn)生理解,而這個(gè)理解是不斷變化的,也會(huì)離真相越來(lái)越近攒岛。
    重要的是不斷找方法解決問(wèn)題,在這個(gè)過(guò)程中加深理解。

  5. 小心復(fù)述的陷阱
    我一直有一個(gè)復(fù)述的習(xí)慣, 在別人對(duì)我講話(huà)后, 我會(huì)復(fù)述一遍以確定是否理解正確胞锰。通常情況下這個(gè)習(xí)慣有利于提高溝通效率,在某些時(shí)候這個(gè)習(xí)慣也會(huì)有害灾锯。
    當(dāng)我們?cè)趶?fù)述的時(shí)候,會(huì)強(qiáng)化自己的記憶,比如大聲朗讀有助于記憶,能被唱出歌詞也跟容易被記住。同樣復(fù)述理解時(shí)會(huì)強(qiáng)化它們?cè)诖竽X中的印象嗅榕。
    之前已經(jīng)講了理解是在實(shí)踐中不斷變化的,所以當(dāng)前的理解往往是片面的,而這些片面的理解有可能阻礙我們之后正確得理解代碼顺饮。
    所以我們應(yīng)該重視重現(xiàn)方法而不是復(fù)述原理,因?yàn)閺?fù)述原理可能會(huì)強(qiáng)化我們錯(cuò)誤的理解。

經(jīng)驗(yàn)路線(xiàn)和深度路線(xiàn)

程序員在經(jīng)歷過(guò)職場(chǎng)的3年野蠻成長(zhǎng)后,大體會(huì)分化為兩種路線(xiàn):廣度路線(xiàn)和深度路線(xiàn)凌那。

所謂廣度路線(xiàn)就是在有一定基礎(chǔ)后,將更多的精力花在接觸各種不同方面的技術(shù)或工具上兼雄。

所謂深度路線(xiàn)就是將更多的精力投入到進(jìn)一步加深工作領(lǐng)域內(nèi)的知識(shí)和能力中。

在實(shí)踐工作中,我們依賴(lài)的東西很多,單純追求深度路線(xiàn),并不能很好的適應(yīng)不斷變化的 IT 行業(yè)帽蝶。

由于技術(shù)間有很多東西是相通的, 所以在學(xué)習(xí)新技術(shù)的時(shí)候,學(xué)習(xí)效率和掌握水平往往由之前已掌握的技術(shù)深度決定赦肋。而單純追求廣度路線(xiàn),由于深度不夠,所以新技能的能力不足以有效解決工作中的各種問(wèn)題。

總體而已, 深度和廣度需要平衡發(fā)展励稳。

另一方面, 做了幾年的程序員,容易自滿(mǎn),再加上深度路線(xiàn)需要持續(xù)的鉆研和實(shí)踐,且很容易自以為懂了而停滯不前,所以有些程序員再不往深度方向走了佃乘。于是整天嘴里都跑著新名詞,談著架構(gòu),但是不能解決工作中碰到的難題。

避免趕代碼

現(xiàn)在都在追求小步快跑,快速迭代,在加上行業(yè)節(jié)奏快,老板催得緊,所以加班對(duì)程序員來(lái)說(shuō)是家常便飯麦锯。

盡管我們都知道只寫(xiě)自己熟悉的代碼,不學(xué)習(xí),能力提不高,工資也提不高,但是面對(duì) deadline 的壓力,如何能靜心鉆研下代碼的工作原理?

想解決工作和學(xué)習(xí)的平衡問(wèn)題,首先我們的覺(jué)察到自己是否正在趕代碼以完成工作恕稠。

我有每天寫(xiě)日記的習(xí)慣,所以我的自我覺(jué)察方法就是每天寫(xiě)日記時(shí),問(wèn)問(wèn)自己,是否在趕代碼。

趕代碼的標(biāo)準(zhǔn)如下:

  1. 直接 Copy&Paste 網(wǎng)上搜索到的代碼,不管其中的邏輯扶欣。
    我們經(jīng)常會(huì)引用一些代碼來(lái)解決問(wèn)題,引用本無(wú)可厚非,但是也需要知道插入進(jìn)來(lái)的這段代碼到底是在干嘛,和之前自己的寫(xiě)法有什么不同鹅巍。

  2. 碰到問(wèn)題, 試各種寫(xiě)法,一旦試成功后就完事了, 不考慮到底幾種寫(xiě)法的區(qū)別。
    我這方面比較嚴(yán)重的是 css 代碼, 只是胡亂拼湊各種參數(shù), 而沒(méi)有理解各種參數(shù)的實(shí)際作用料祠。

  3. 只是單純參考文檔來(lái)寫(xiě),不思考這個(gè)框架或工具的內(nèi)部邏輯骆捧。
    比如在學(xué)習(xí)使用一個(gè)框架的時(shí)候,會(huì)在各種demo 的代碼, 這時(shí)需要理解這些代碼的邏輯,而不是改改能用就行了。當(dāng)然不是要深入到源碼去理解,對(duì)于剛開(kāi)始使用的框架,只有大體知道每一塊代碼是干嘛用的就行了髓绽。

在察覺(jué)到自己的趕代碼行為后,還需要深入的思考下自己這么做的原因, 這里列舉下我察覺(jué)后的結(jié)果:

  1. 回避難點(diǎn)
    當(dāng)代碼中遇到難點(diǎn)時(shí),應(yīng)該試圖弄清楚,而不是單純找個(gè) workgroud 的方法草草了事敛苇。

  2. 獲得團(tuán)隊(duì)的認(rèn)同
    團(tuán)隊(duì)的認(rèn)同感其實(shí)就是信任,首先培養(yǎng)信任是一個(gè)長(zhǎng)期的行為, 其次信任來(lái)自于任務(wù)的妥善完成, 只重視量而不重視質(zhì)的趕代碼行為顯然不是一個(gè)好的信任培養(yǎng)策略。

  3. 享受做得快的快感
    快速寫(xiě)出一堆可以用的代碼確實(shí)很產(chǎn)生快感,但是這種快感只在短期有效顺呕。我們應(yīng)該提高快感品位,做能產(chǎn)生長(zhǎng)期快感的事情枫攀。

先框架還是先語(yǔ)言

我們經(jīng)常會(huì)碰到多看語(yǔ)言書(shū)還是多學(xué)習(xí)框架的選擇題。之前我一直覺(jué)得顯然語(yǔ)言更重要,框架總在不停的出新,而語(yǔ)言的變化性就小得多株茶。
現(xiàn)在發(fā)現(xiàn),對(duì)于程序員新手來(lái)說(shuō),先學(xué)框架更重要来涨。因?yàn)檎莆湛蚣芎笕菀渍业焦ぷ髌脚_(tái),并快速成長(zhǎng)到能為團(tuán)隊(duì)產(chǎn)出。一個(gè)工作平臺(tái)對(duì)新手程序員的成長(zhǎng)至關(guān)重要, 至于語(yǔ)言和代碼能力,可以在之后來(lái)補(bǔ)启盛。
至于技術(shù)的選擇,對(duì)新手來(lái)說(shuō)最好的方式就是跟著項(xiàng)目走,這樣更容易實(shí)踐和成長(zhǎng)蹦掐。技術(shù)和技術(shù)之間有很多是相通的,當(dāng)學(xué)習(xí)到一定深度時(shí),再轉(zhuǎn)而學(xué)習(xí)其他技術(shù)也會(huì)很快技羔。

關(guān)于工具的選擇

我們是生活在“輪子”上的一群人, 整天找輪子,比較輪子,甚至造輪子。程序員界激烈的“編輯器圣戰(zhàn)”,“什么是最好語(yǔ)言”可以看出我們對(duì)輪子的熱愛(ài)卧抗。
但是我們?cè)谡垓v輪子上也浪費(fèi)不少時(shí)間藤滥。總想找到一個(gè)"完美"的輪子,優(yōu)雅地解決我們所有的問(wèn)題,又足夠簡(jiǎn)潔社裆。之后我明白了,關(guān)于輪子的選擇,不用想那么多,也不用討論那么多,更不沒(méi)必要去爭(zhēng)論什么拙绊。
我們只需要多嘗試,然后選個(gè)大體適合自己的就行了。
別磨刀耽誤了砍柴泳秀。

博客和書(shū)

讀書(shū)和看博客是一般擅長(zhǎng)閱讀學(xué)習(xí)的人的常用渠道时呀。那么這兩種方式有什么不同呢?

由于技術(shù)發(fā)展很快,所以書(shū)本的出版往往滯后,所以書(shū)上的有些知識(shí)其實(shí)是過(guò)時(shí)了的。但是作者為了寫(xiě)一本書(shū)會(huì)積累更多,沉淀更久,所以寫(xiě)出來(lái)的東西也會(huì)更有深度和總結(jié)性晶默。

因此我們?nèi)粝爰夹g(shù)進(jìn)階, 掌握核心思想,就應(yīng)該多讀書(shū)谨娜。

與書(shū)本相反,博客更新很快,篇幅很短,所以一些關(guān)于新技術(shù)的討論往往只能在博客里找到。由于篇幅有限,博客的作者只會(huì)針對(duì)一個(gè)點(diǎn)或幾個(gè)點(diǎn)來(lái)闡述, 相比于書(shū)會(huì)顯得淺顯和片面磺陡。

因此我們?nèi)粝肓私庑录夹g(shù)或者快速入門(mén),可以多看看博客趴梢。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市币他,隨后出現(xiàn)的幾起案子坞靶,更是在濱河造成了極大的恐慌,老刑警劉巖蝴悉,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件彰阴,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡拍冠,警方通過(guò)查閱死者的電腦和手機(jī)尿这,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)庆杜,“玉大人射众,你說(shuō)我怎么就攤上這事』尾疲” “怎么了叨橱?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)断盛。 經(jīng)常有香客問(wèn)我罗洗,道長(zhǎng),這世上最難降的妖魔是什么钢猛? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任伙菜,我火速辦了婚禮,結(jié)果婚禮上厢洞,老公的妹妹穿的比我還像新娘仇让。我一直安慰自己,他們只是感情好躺翻,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布丧叽。 她就那樣靜靜地躺著,像睡著了一般公你。 火紅的嫁衣襯著肌膚如雪踊淳。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,950評(píng)論 1 291
  • 那天陕靠,我揣著相機(jī)與錄音迂尝,去河邊找鬼。 笑死剪芥,一個(gè)胖子當(dāng)著我的面吹牛垄开,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播税肪,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼溉躲,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了益兄?” 一聲冷哼從身側(cè)響起锻梳,我...
    開(kāi)封第一講書(shū)人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎净捅,沒(méi)想到半個(gè)月后疑枯,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蛔六,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年荆永,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片国章。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡屁魏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出捉腥,到底是詐尸還是另有隱情氓拼,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布抵碟,位于F島的核電站桃漾,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏拟逮。R本人自食惡果不足惜撬统,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望敦迄。 院中可真熱鬧恋追,春花似錦凭迹、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至撕彤,卻和暖如春鱼鸠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背羹铅。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工蚀狰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人职员。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓麻蹋,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親焊切。 傳聞我的和親對(duì)象是個(gè)殘疾皇子哥蔚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容