普通碼農(nóng)的思維總結(jié)

看到這個標(biāo)題诡壁,你一定會有疑問,什么叫普通碼農(nóng)荠割。

相對普通碼農(nóng)妹卿,自然會有超級碼農(nóng)。記得剛參加工作的時候蔑鹦,我被分到一個路由器的組夺克,專門干移植bootloader的工作。同組還有一個同事干同樣的工作嚎朽,只是我們會跟進(jìn)不同項目铺纽。有一天早上,當(dāng)我還在研究初始化代碼的時候哟忍,我看到他正在用GDB工具看反匯編出來的代碼狡门。我問他這是在干嘛,他說他已經(jīng)完成了這幾個項目的移植锅很,現(xiàn)在正在考慮是否可以對初始化代碼用匯編來寫其馏。我當(dāng)時在想,Are you kidding me爆安?不過過一段時間他居然真的用匯編把這些東西給折騰出來了尝偎。

似乎有些人,他們更擅長高強(qiáng)度的腦力勞動。當(dāng)時我們常常上完一天班已經(jīng)很累了致扯,他還能精力十足地跑兩公里回家肤寝。果然幾年以后,他就成為了別人眼中的大牛抖僵。這是超級碼農(nóng)鲤看,當(dāng)時同組還有另一位同事,他只是編寫簡單的html代碼耍群,但干了兩個月就辭職了义桂。辭職的時候興沖沖地和我說,終于不用再看這些煩人的代碼啦蹈垢。碼農(nóng)有各種各樣的慷吊,其中也有一大堆和我一樣的人。我們對于編程曹抬,即沒有那么絕對的擅長溉瓶,也沒有那么厭倦。這樣的人谤民,姑且稱之為普通碼農(nóng)吧堰酿。

作為一個普通碼農(nóng),這些年我在編碼的時候走了不少彎路张足。所以我想總結(jié)一下其中的幾個經(jīng)驗教訓(xùn)触创,順便和大家交流一下。

經(jīng)驗一为牍、只在同一個抽象層次進(jìn)行思考

人的短期記憶是很有限的哼绑,帶來的結(jié)果就是在一個時間點上,我們能記住的邏輯拓?fù)涫怯邢薜牡锱亍R虼司幋a的時候凌那,最好不要進(jìn)行太多的縱向跨層次的思考。

復(fù)雜的單一應(yīng)用維護(hù)起來比較讓人頭疼吟逝,因此通常會被拆分成微服務(wù)或者多個組件。接著每個組件有對應(yīng)的框架結(jié)構(gòu)赦肋,以及常用的第三方依賴块攒。到具體編碼的時候,我們只需要設(shè)計一組類去解決實際的問題佃乘。

一個實際的問題由一個或者一組類來解決囱井,這一組類和他們的之間的接口是一個層次。到具體某個類里趣避,它的每個接口的實現(xiàn)是下一個層次庞呕。如果某個算法特別復(fù)雜,又可以再抽象出一個層次。這樣住练,沒有必要的話不要寫太長的方法地啰。

在編碼的時候可以有意識地切換思考的層次,在設(shè)計類圖的時候不要想實現(xiàn)細(xì)節(jié)讲逛,在寫一個子方法的時候不要去想該如何改善接口亏吝。

很多Git Repo在commit的時候要求改動接口和具體實現(xiàn)要分開提交,就是遵循上述的原則盏混。這么多的語言蔚鸥、框架、范例就是為了讓我們在面對復(fù)雜問題的時候许赃,有一個相對標(biāo)準(zhǔn)的解耦的思路止喷,節(jié)省我們的腦力。

過去在看大量代碼的時候混聊,我常常很焦慮弹谁,甚至懷疑我自己的職業(yè)生涯。然而只要學(xué)會循序漸進(jìn)技羔,不要在某個單點上透支注意力僵闯,解決一個復(fù)雜問題的時候可能就沒有那么吃力了。

經(jīng)驗二藤滥、定期整理自己的知識結(jié)構(gòu)

科學(xué)家發(fā)現(xiàn)鳖粟,兒童和成人學(xué)習(xí)語言的方式是不同的。兒童學(xué)習(xí)語言會增加大腦的神經(jīng)突觸拙绊,而成人則是強(qiáng)化神經(jīng)網(wǎng)絡(luò)之間的聯(lián)結(jié)向图。

對于我們學(xué)習(xí)的知識來說,最好的結(jié)構(gòu)是樹狀和網(wǎng)狀标沪,不要把它們像關(guān)系型數(shù)據(jù)庫一樣存在不同的表里榄攀。

人腦有兩個系統(tǒng),一個和直覺金句、聯(lián)想有關(guān)檩赢,可以快速作出決策。另一個和分析违寞、運算有關(guān)贞瞒,推演起來十分緩慢。強(qiáng)化各個概念之間的聯(lián)結(jié)趁曼,會把原來分散的短期記憶融合到自己長期的記憶中去军浆。這樣不僅不容易把自己所學(xué)的知識忘記,還會同時加快自己的思考過程挡闰。

你可以把自己想象成一個人工智能乒融,雖然運算能力沒那么強(qiáng)大掰盘,但是框架卻要比tensorflow好上一萬倍。你不需要太多的數(shù)據(jù)赞季,也可以優(yōu)化自己的模型愧捕。

其實仔細(xì)一想,很多知識是完全相通的碟摆。我在學(xué)習(xí)YARV的時候晃财,發(fā)現(xiàn)它的指令集和一些cpu指令集比如x86或者mips的有很多共通之處。而js實現(xiàn)異步的原理典蜕,和實時性操作系統(tǒng)ucosii實現(xiàn)多進(jìn)程的方式如出一轍断盛。

過去我在學(xué)習(xí)的時候,總是想方設(shè)法讓自己強(qiáng)記某些知識愉舔,最后發(fā)現(xiàn)這樣不僅低效且很容易因為經(jīng)常忘記而讓自己失去信心钢猛。所以,學(xué)習(xí)新的知識時轩缤,要盡量把它和老的知識做比較命迈,建立知識點之間的聯(lián)系,才能事半功倍火的。

經(jīng)驗三壶愤、Plan yourself

從一個點上看,人的短期記憶有限馏鹤。有一條時間線上看征椒,人在一段時間內(nèi)的精力是有限的。

不要胡亂投資時間湃累。我在剛參加工作的那幾年勃救,因為幾個對硬件的問題不了解,就買了好幾本數(shù)字高頻電路的書來看治力。然而這些問題我到現(xiàn)在也沒有搞懂蒙秒,純粹浪費了大量的時間。

你可以對自己想干的事情和所需要的技能作一個評估宵统,決定自己要把時間投資在哪個技術(shù)領(lǐng)域晕讲。當(dāng)然這不僅僅限于技術(shù),也可以把時間用在技術(shù)之外的地方马澈,這個看個人喜好了瓢省。

這是一個升維的問題,時常跳出自己當(dāng)前的任務(wù)箭券,想一想自己的整個生活。不要盲目疑枯,當(dāng)更高維度的問題解決以后辩块,自己在面臨當(dāng)前任務(wù)的時候也會更加心無旁貸。

總結(jié)

編碼和其他很多事情一樣,都不是一件容易的事情废亭。如果你想節(jié)約時間国章,可以快樂編碼,上完班可以找三四個好友豆村,聚在大排檔液兽,喝點啤酒,談?wù)勅松贫D敲纯梢詫W(xué)習(xí)一門為優(yōu)雅而生的語言——ruby四啰。

入坑以后,你就會發(fā)現(xiàn)粗恢,這TM還是要有這么多東西要學(xué)柑晒,一點也不輕松。于是你就會拋棄輕松編碼的幻想眷射,繼續(xù)努力工作匙赞。

完。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末妖碉,一起剝皮案震驚了整個濱河市涌庭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌欧宜,老刑警劉巖坐榆,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異鱼鸠,居然都是意外死亡猛拴,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進(jìn)店門蚀狰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來愉昆,“玉大人,你說我怎么就攤上這事麻蹋□烁龋” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵扮授,是天一觀的道長芳室。 經(jīng)常有香客問我,道長刹勃,這世上最難降的妖魔是什么堪侯? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮荔仁,結(jié)果婚禮上伍宦,老公的妹妹穿的比我還像新娘芽死。我一直安慰自己,他們只是感情好次洼,可當(dāng)我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布关贵。 她就那樣靜靜地躺著,像睡著了一般卖毁。 火紅的嫁衣襯著肌膚如雪揖曾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天亥啦,我揣著相機(jī)與錄音炭剪,去河邊找鬼。 笑死禁悠,一個胖子當(dāng)著我的面吹牛念祭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播碍侦,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼粱坤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了瓷产?” 一聲冷哼從身側(cè)響起站玄,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎濒旦,沒想到半個月后株旷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡尔邓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年晾剖,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片梯嗽。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡齿尽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出灯节,到底是詐尸還是另有隱情循头,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布炎疆,位于F島的核電站卡骂,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏形入。R本人自食惡果不足惜全跨,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望亿遂。 院中可真熱鬧浓若,春花似錦盒使、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽苞慢。三九已至诵原,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挽放,已是汗流浹背绍赛。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留辑畦,地道東北人吗蚌。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像纯出,于是被迫代替她去往敵國和親蚯妇。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,440評論 2 348

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,731評論 25 707
  • 我聽著鳥叫聲蘇醒暂筝,醒后一般也還會躺在床上聽鳥叫聲箩言,感受自己的狀態(tài),有時候胡思亂想一些事情焕襟。然后通常做兩小節(jié)瑜伽陨收。可...
    時光吾愛閱讀 169評論 1 0
  • 愛過知情重 醉過知酒濃饵骨。
    琦琦愛阿14閱讀 146評論 0 0
  • 你永遠(yuǎn)無法分辨什么是真愛,因為真愛總是伴著失去而來列赎。 你想盡辦法去追求那個你愛...
    萌啊xue閱讀 2,005評論 0 1
  • 7.13帶妹妹去體檢宏悦,為了面試給她買了一套衣服和鞋子,下午在學(xué)校模擬了一下面試流程包吝,晚上去姑姑家吃的晚飯饼煞,給即將工...
    小艷愛成長閱讀 169評論 0 1