IT是工科,不是理科
和IT行業(yè)相似度最高的行業(yè)是蓋樓房。真的咕缎,相似度相當(dāng)驚人。
IT領(lǐng)域最重要的是經(jīng)驗(yàn)而不是你有多聰明料扰,不聰明的人或者更準(zhǔn)確地說(shuō)不適合做這個(gè)行業(yè)的人锨阿,大學(xué)畢業(yè)后就改行了。記准欠!:你做得好不好墅诡,不取決于你是否聰明,而取決于你是否愿意不斷讀書(shū)不斷學(xué)習(xí)和不斷積累。因此末早,如果你打算投身這個(gè)行業(yè)而你還在學(xué)校烟馅,請(qǐng)抓緊一切時(shí)間多讀書(shū)。
公司是你創(chuàng)造財(cái)富的地方然磷,公司不是學(xué)校郑趁。你可以在工作中學(xué)習(xí),但你不能放下工作然后去學(xué)習(xí)除非你的工作已經(jīng)做完了姿搜。
能大規(guī)模商用的技術(shù)寡润,都不需要智商,否則這種技術(shù)就不可能規(guī)木斯瘢化梭纹。某些程序員們,請(qǐng)停止你們的蜜汁自信致份。
技術(shù)棧变抽,一旦確立了,就很難改了氮块。一個(gè)技術(shù)人員是如此绍载,一家公司也是如此。根本原因是:每一個(gè)棧的size都太深了…就像是ulimit -s unlimited過(guò)一樣滔蝉。
一個(gè)程序員击儡,應(yīng)該花80%的時(shí)間做代碼設(shè)計(jì)、畫(huà)UML圖蝠引、畫(huà)時(shí)序圖阳谍,20%的時(shí)間寫(xiě)code和debug;菜鳥(niǎo)程序員的這個(gè)比例恰好是反的立肘。一句話名扛,不論這個(gè)需求有多緊急谅年,你都一定要“想好再動(dòng)手”;“想好”的標(biāo)志就是設(shè)計(jì)文檔寫(xiě)好了肮韧;文檔一旦寫(xiě)好超燃,寫(xiě)代碼就是純粹的無(wú)腦工作意乓。
寫(xiě)文檔的目的是讓你在code的時(shí)候,不需要停下來(lái)思考更不需要推倒重來(lái)约素。如果沒(méi)有文檔也可以做到這一點(diǎn)届良,你當(dāng)然可以不寫(xiě)文檔同時(shí)思考下自己水平這么高是不是可以要求升職加薪了……或者笆凌,你是不是在做無(wú)聊的if else編碼工作?
工作要有熱情士葫。
智商決定你的起點(diǎn)情商決定你能走多遠(yuǎn)爬多高乞而;混職場(chǎng),靠的是情商慢显。情商高就是:別人愿意和你一起工作爪模、你有問(wèn)題的時(shí)候別人愿意幫你。智商有時(shí)候可以稍微彌補(bǔ)一下情商但不起決定性的作用荚藻。
“開(kāi)發(fā)人員的文檔的作用”:
給正在code的自己看屋灌、給幾個(gè)月后已經(jīng)忘記這個(gè)模塊當(dāng)初是怎么開(kāi)發(fā)的自己看、給要接手自己工作的新人看鞋喇、給周邊有關(guān)聯(lián)開(kāi)發(fā)任務(wù)的同事看声滥、給領(lǐng)導(dǎo)等有關(guān)人員看、產(chǎn)品出bug的時(shí)候用來(lái)和別人懟的武器侦香。如果沒(méi)有文檔落塑,這些工作量都會(huì)成倍增長(zhǎng)。
代碼再精簡(jiǎn)再直觀罐韩,也不可能有人類(lèi)語(yǔ)言直觀憾赁,誰(shuí)覺(jué)得自己厲害到讀代碼和讀人類(lèi)語(yǔ)言寫(xiě)的文檔速度一樣快讀地步,我給你個(gè)我上大學(xué)時(shí)候?qū)懙男〕绦蛏⒊常闊┠阕x一下代碼龙考,看看你多長(zhǎng)時(shí)間可以看明白:https://github.com/YvesZHI/FallingCode
這段代碼本身并不復(fù)雜,應(yīng)該說(shuō)非常簡(jiǎn)單矾睦,但是沒(méi)有文檔……讀讀看吧晦款。
簡(jiǎn)而言之,文檔枚冗,就像蓋樓房的設(shè)計(jì)圖缓溅,沒(méi)有圖紙,你是不能開(kāi)始搬磚的赁温。
領(lǐng)導(dǎo)有沒(méi)有給你看需求分析文檔坛怪?有沒(méi)有拿著需求分析文檔給你宣講你要做什么?
沒(méi)有股囊?不干活袜匿;
測(cè)試的同事有沒(méi)有給你看測(cè)試用例文檔?有沒(méi)有給你宣講稚疹?
沒(méi)有居灯?不干活;
你自己明白領(lǐng)導(dǎo)的意圖了嗎?明白測(cè)試同事的意圖了嗎穆壕?想明白后待牵,開(kāi)始想自己要開(kāi)發(fā)的模塊里的各個(gè)功能模塊之間的關(guān)系,可以畫(huà)時(shí)序圖喇勋;時(shí)序圖畫(huà)完了缨该,看看是否有(可能)頻繁變化的模塊/需求,如果有川背,請(qǐng)務(wù)必使用一些設(shè)計(jì)模式贰拿,如果要用設(shè)計(jì)模式,請(qǐng)務(wù)必畫(huà)UML類(lèi)圖熄云,如果沒(méi)有頻繁變化的模塊/需求膨更,請(qǐng)一定不要用設(shè)計(jì)模式;最后缴允,看看在一個(gè)功能模塊中荚守,有沒(méi)有邏輯比較復(fù)雜的地方,如果有练般,請(qǐng)畫(huà)流程圖矗漾;模塊和模塊之間有沒(méi)有需要明確的協(xié)議?如果有薄料,請(qǐng)把協(xié)議寫(xiě)出來(lái)敞贡。
上面這一段話,就是你要寫(xiě)的文檔摄职,這個(gè)文檔的讀者主要是你誊役,在你的模塊出問(wèn)題之前,別人通常不會(huì)讀這個(gè)文檔(不排除你的領(lǐng)導(dǎo)會(huì)要求看你這個(gè)文檔)谷市。如果你既不需要時(shí)序圖又不需要類(lèi)圖又沒(méi)什么協(xié)議需要明確蛔垢,那么,你就可以不寫(xiě)這個(gè)文檔迫悠。另外鹏漆,如果這個(gè)文檔寫(xiě)得好,你的代碼是不需要任何注釋的及皂。