最牛逼的編碼套路

與你所相信的恰恰相反,單純地每天埋頭于工作并不能算是真正意義上的鍛煉——參加會(huì)議并不能鍛煉你的人際交往能力叔营;回復(fù)郵件并不能提高你的打字水平有巧。你必須定期留出時(shí)間,集中鍛煉芬膝,這樣才能把事情做得更好望门。

這是一個(gè)重要的區(qū)別——我每天都開(kāi)車去上班,但我的駕駛水平遠(yuǎn)遠(yuǎn)不如專業(yè)車手锰霜;類似的情況筹误,天天編程可能并不足以使你成為一名專業(yè)的程序員。那么癣缅,什么才能把一個(gè)普通人變成一名專業(yè)車手或者專業(yè)程序員呢厨剪?你需要鍛煉什么呢?

答案就在《科學(xué)美國(guó)人》的一篇名為“The Expert Mind”(專家思維)的文章里:

愛(ài)立信提出友存,重要的并不是經(jīng)驗(yàn)本身祷膳,而是“努力的學(xué)習(xí)”,也就是要不斷地挑戰(zhàn)自身能力之外的東西屡立。一些狂熱的愛(ài)好者花費(fèi)了大量的時(shí)間去下棋直晨、打高爾夫球或者玩樂(lè)器,但他們可能始終停留在業(yè)余水平上膨俐,而一個(gè)訓(xùn)練有素的學(xué)生卻可以在相對(duì)較短的時(shí)間里超越他們勇皇,原因就在這里。值得注意的是焚刺,在提高水平方面敛摘,花費(fèi)在下棋上的大量時(shí)間(即使參加各種比賽)似乎還是比不過(guò)專門的訓(xùn)練來(lái)得更為有效。訓(xùn)練的主要價(jià)值在于發(fā)現(xiàn)弱點(diǎn)檩坚,并有針對(duì)性地進(jìn)行提高着撩。

“努力的學(xué)習(xí)”意味著诅福,要常常去處理那些剛好在你能力極限上的問(wèn)題,也就是那些對(duì)你來(lái)說(shuō)有很大可能失敗的事情拖叙。如果不經(jīng)歷一些失敗的話氓润,你可能就不會(huì)成長(zhǎng)。你必須不斷地挑戰(zhàn)自我薯鳍,超越自己的極限咖气。

那樣的挑戰(zhàn)有時(shí)會(huì)在工作中碰到,但也未必挖滤。將鍛煉從職業(yè)工作中分離出來(lái)崩溪,這在編程領(lǐng)域常被人稱為“編碼套路”(Code Kata)。Code Kata的概念是由David Thomas提出的斩松,他是《程序員修煉之道:從小工到專家》的作者之一伶唯。這個(gè)概念主要指的是,針對(duì)某一種特定技術(shù)或技能進(jìn)行重復(fù)性的練習(xí)惧盹,從而將其熟練掌握乳幸。——譯者注

所謂套路钧椰,就是一系列的招式粹断。這個(gè)概念借鑒于武術(shù)。SteveYegge提出了一些不錯(cuò)的建議,“實(shí)踐演練”:

1. 寫一份自己的簡(jiǎn)歷嫡霞。把自己所有的相關(guān)技能都羅列出來(lái)瓶埋,然后把那些在100年后還用得到的標(biāo)出來(lái)。給每個(gè)技能打分诊沪,滿分為10分养筒。

2. 羅列出你所景仰的程序員。盡量包括那些與你一起工作的人娄徊,因?yàn)槟銜?huì)在工作中從他們身上獲取一些技能闽颇。記錄下他們身上的1 ~ 2個(gè)閃光點(diǎn),也就是你希望自己有所提高的方面寄锐。

4. 花20分鐘通讀別人的代碼兵多。讀出色的代碼和讀糟糕的代碼都是有益的,兩者都要讀橄仆,輪流切換剩膘。如果你無(wú)法感覺(jué)出它們之間的區(qū)別,可以求助于一位你尊敬的程序員盆顾,讓他給你展示一下什么是出色的代碼怠褐、什么是糟糕的代碼。把你讀過(guò)的代碼給別人也看看您宪,問(wèn)問(wèn)他們的看法奈懒。

5. 羅列出你最喜歡的10個(gè)編程工具——那些你覺(jué)得你用得最多奠涌、非有不行的工具。隨機(jī)挑選其中的一個(gè)工具磷杏,花一個(gè)小時(shí)去閱讀它的文檔溜畅。在這一個(gè)小時(shí)里,努力去學(xué)習(xí)這個(gè)工具的某個(gè)你不曾意識(shí)到的新功能极祸,或者發(fā)現(xiàn)某種新的使用方法慈格。

6. 想一想,除了編程之外你最擅長(zhǎng)什么事情遥金?再想一想浴捆,你是通過(guò)怎樣的鍛煉才變得如此熟練和專業(yè)的?這對(duì)于你的編程工作又有什么啟發(fā)呢稿械?(怎么把這些經(jīng)驗(yàn)應(yīng)用到編程方面选泻?)

9. 進(jìn)行一次技術(shù)面試,并且被面試的人應(yīng)該是某個(gè)你不太了解的領(lǐng)域里的專家美莫。讓他假定聽(tīng)眾在該領(lǐng)域里一無(wú)所知滔金,因此請(qǐng)他從最基礎(chǔ)的講起。努力去理解他所說(shuō)的茂嗓,必要時(shí)問(wèn)一些問(wèn)題。

10. 有機(jī)會(huì)參與別人的技術(shù)面試科阎。期間述吸,你只是認(rèn)真地聽(tīng)、認(rèn)真地學(xué)锣笨。在應(yīng)聘者努力解決技術(shù)問(wèn)題的同時(shí)蝌矛,你也要在自己腦子里嘗試解決這些問(wèn)題。

11. 找到一個(gè)能和你交換實(shí)際問(wèn)題的人错英,每隔一周入撒,相互交流編程問(wèn)題⊥盅遥花10 ~ 15分鐘來(lái)嘗試解決這些問(wèn)題茅逮,再用10 ~ 15分鐘進(jìn)行討論(無(wú)論能否解決)。

我之所以喜歡Steve開(kāi)出的這個(gè)清單判哥,是因?yàn)樗瓷先ズ苋嫦籽拧S行┏绦騿T一想到“鍛煉”,總認(rèn)為就是一些編碼上的難題塌计。但在我看來(lái)挺身,編程更在于人,而不是代碼锌仅。因此章钾,通過(guò)解決世上所有的墙贱、并且晦澀的編程面試題目,在提高你的個(gè)人能力方面贱傀,這種方法是有局限的惨撇。

實(shí)際上,在我看來(lái)窍箍,“編程套路”只需兩個(gè)招式:

1. 寫博客串纺。我在2004年初創(chuàng)辦了CodingHorror.com博客,作為我自己努力學(xué)習(xí)的一種形式椰棘。它在一開(kāi)始很不起眼纺棺,到后來(lái)成為我職業(yè)生涯中做過(guò)的最重要的一件事。所以邪狞,你也應(yīng)該寫博客祷蝌。最后“聞達(dá)于天下”的人,往往就是那些能夠有效書(shū)寫和溝通的人帆卓。他們的聲音最響亮巨朦,是他們?cè)谥贫ㄓ螒蛞?guī)則,并且引領(lǐng)世界的潮流剑令。

2. 積極參與著名的開(kāi)源項(xiàng)目糊啡。所有的高談闊論聽(tīng)起來(lái)都很好,但是吁津,你是一個(gè)大話王還是一名實(shí)干家呢棚蓄?別光說(shuō)不練,這個(gè)非常重要碍脏,因?yàn)槿藗儠?huì)用你的行動(dòng)來(lái)衡量你梭依,而不是你的言論。努力在公眾面前留下些實(shí)實(shí)在在有用的東西吧典尾,到時(shí)候你就可以說(shuō)役拴,“我在那個(gè)項(xiàng)目中出過(guò)力〖毓。”

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末河闰,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子褥紫,更是在濱河造成了極大的恐慌淤击,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,080評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件故源,死亡現(xiàn)場(chǎng)離奇詭異污抬,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門印机,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)矢腻,“玉大人,你說(shuō)我怎么就攤上這事射赛《喔蹋” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,630評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵楣责,是天一觀的道長(zhǎng)竣灌。 經(jīng)常有香客問(wèn)我,道長(zhǎng)秆麸,這世上最難降的妖魔是什么初嘹? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,554評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮沮趣,結(jié)果婚禮上屯烦,老公的妹妹穿的比我還像新娘。我一直安慰自己房铭,他們只是感情好驻龟,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,662評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著缸匪,像睡著了一般翁狐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上凌蔬,一...
    開(kāi)封第一講書(shū)人閱讀 49,856評(píng)論 1 290
  • 那天谴蔑,我揣著相機(jī)與錄音,去河邊找鬼龟梦。 笑死,一個(gè)胖子當(dāng)著我的面吹牛窃躲,可吹牛的內(nèi)容都是我干的计贰。 我是一名探鬼主播,決...
    沈念sama閱讀 39,014評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蒂窒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼躁倒!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起洒琢,我...
    開(kāi)封第一講書(shū)人閱讀 37,752評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤秧秉,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后衰抑,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體象迎,經(jīng)...
    沈念sama閱讀 44,212評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,541評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了砾淌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片啦撮。...
    茶點(diǎn)故事閱讀 38,687評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖汪厨,靈堂內(nèi)的尸體忽然破棺而出赃春,到底是詐尸還是另有隱情,我是刑警寧澤劫乱,帶...
    沈念sama閱讀 34,347評(píng)論 4 331
  • 正文 年R本政府宣布织中,位于F島的核電站,受9級(jí)特大地震影響衷戈,放射性物質(zhì)發(fā)生泄漏狭吼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,973評(píng)論 3 315
  • 文/蒙蒙 一脱惰、第九天 我趴在偏房一處隱蔽的房頂上張望搏嗡。 院中可真熱鬧,春花似錦拉一、人聲如沸采盒。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,777評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)磅氨。三九已至,卻和暖如春嫡纠,著一層夾襖步出監(jiān)牢的瞬間烦租,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,006評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工除盏, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留叉橱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,406評(píng)論 2 360
  • 正文 我出身青樓者蠕,卻偏偏與公主長(zhǎng)得像窃祝,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子踱侣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,576評(píng)論 2 349

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

  • 本文把程序員所需掌握的關(guān)鍵知識(shí)總結(jié)為三大類19個(gè)關(guān)鍵概念粪小,然后給出了掌握每個(gè)關(guān)鍵概念所需的入門書(shū)籍,必讀書(shū)籍抡句,以及...
    dle_oxio閱讀 11,091評(píng)論 6 244
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,806評(píng)論 25 707
  • 結(jié)束了衣食無(wú)憂待榔,伸手錢就來(lái)到的在校學(xué)習(xí)生活之后逞壁,作為一名剛踏入社會(huì)的應(yīng)屆畢業(yè)生,我們抗拒,心浮氣躁猾担。 說(shuō)工作壓力大...
    漂流的小萍子閱讀 395評(píng)論 1 4
  • 第五章 貪婪的心O啤!绑嘹!…… 有幾個(gè)旅游者正在冰山上觀賞風(fēng)景稽荧,看到猛犸象,感覺(jué)拍照工腋,跑向拉德.皮特博士的實(shí)驗(yàn)室姨丈,向博...
    愛(ài)T_T永遠(yuǎn)_珍惜你閱讀 534評(píng)論 0 0
  • 在我看來(lái),2016其實(shí)是生活轉(zhuǎn)變成生存的一年擅腰,救命的疫苗變成了毒藥蟋恬。鍛煉身體的跑道,變成了掏空身體的尖刀趁冈。 一些網(wǎng)...
    曉_陽(yáng)閱讀 107評(píng)論 2 2