英文原文:Are You a Good Programmer?
如果有人要你推薦一名優(yōu)秀的程序員,你會(huì)想到誰(shuí)?你認(rèn)為你自己是嗎?你的評(píng)判標(biāo)準(zhǔn)是什么?
思考了這個(gè)問(wèn)題,我意識(shí)到程序員可以以各種方式做到優(yōu)秀。所以我向你推出“四種類型的優(yōu)秀程序員”并附上插圖。
一、哲學(xué)家
哲學(xué)家喜歡編寫(xiě)定義良好、結(jié)構(gòu)良好的漂亮代碼。程序構(gòu)思好后,哲學(xué)家會(huì)花大量時(shí)間在方案的優(yōu)雅性、健壯性和靈活性上。一個(gè)星期不談“最佳實(shí)踐”,哲學(xué)家就會(huì)覺(jué)得渾身不爽。
動(dòng)力
嚴(yán)密控制帶來(lái)安全,哲學(xué)家的終極動(dòng)力源于此。組織良好的,可預(yù)測(cè)的系統(tǒng),清晰的設(shè)計(jì)原則是哲學(xué)家的理想境界。混亂是絕對(duì)不能容忍的。秩序產(chǎn)生美。
超能力
● 能寫(xiě)出超級(jí)穩(wěn)定的代碼,穩(wěn)定到你敢把命壓上
● 憑一人之力就能保持代碼的清晰,不管其他團(tuán)隊(duì)成員的水平如何
● 代碼的伸縮性好
劣根性
● 自認(rèn)為總是正確的
● 連80列這種問(wèn)題也要爭(zhēng)論(譯者注:老計(jì)算機(jī)的終端只能顯示80列,為了讓這些古老的終端閱讀方便,寫(xiě)代碼一般每行不超過(guò)80個(gè)字符,但隨著顯示器越來(lái)越大,這個(gè)原則變得可有可無(wú))
● 關(guān)注測(cè)試覆蓋率多于關(guān)注用戶問(wèn)題
● 沒(méi)完沒(méi)了
忌諱
● 空格和Tab混著用
● 不遵守原子提交(譯者注:原子提交的意思是,如果解決某個(gè)問(wèn)題所修改的代碼包含在多個(gè)文件中,那么這些文件需要一次性一起提交,這樣可以保證任一時(shí)刻代碼庫(kù)的狀態(tài)都是一致的)
● 給他們報(bào)名參加即興表演
二、發(fā)明家
發(fā)明家的實(shí)驗(yàn)室源源不斷地出產(chǎn)異想天開(kāi)的好東西。沒(méi)人求他們,他們就是自己想做。
動(dòng)力
發(fā)明家的動(dòng)力來(lái)自探索和發(fā)明全新的事物。強(qiáng)烈的好奇心促使他們把假設(shè)變成現(xiàn)實(shí)。
超能力
● 經(jīng)常發(fā)明有用(或者將來(lái)有用)的新技術(shù)
● 有感染力的狂熱
● 讓你贊嘆:“哇靠,這樣玩也行?”
劣根性
● 非我發(fā)明癥(譯者注:是一種文化,指不信任、不使用非自己發(fā)明的技術(shù))
忌諱
● 用這句話來(lái)打擊他們的創(chuàng)意:“這不是工業(yè)標(biāo)準(zhǔn)”
三、征服者
征服者沒(méi)有難題。對(duì)他們來(lái)說(shuō),編程只是一場(chǎng)征服之旅,不斷去克服各種挑戰(zhàn)。征服者很爭(zhēng)強(qiáng)好勝,但不一定是和別人爭(zhēng)。
動(dòng)力
題目越難,沖得越猛。
超能力
● 能解決那些不可能解決的問(wèn)題
● 比激光更敏銳的注意力,比馬拉松選手更好的耐力
● 算法活辭典
劣根性
● 容易化簡(jiǎn)為繁,因?yàn)檫@樣解決起來(lái)更爽
● 永遠(yuǎn)很無(wú)聊
忌諱
● 讓他們?nèi)プ鲆粋€(gè)CRUD網(wǎng)頁(yè)應(yīng)用(譯者注:CRUD指Create、Read、Update、Delete,這里引申為過(guò)分簡(jiǎn)單的應(yīng)用)
● 強(qiáng)迫他們只能用命令式編程語(yǔ)言
● 給他們一本“數(shù)獨(dú)”謎題集(譯者注:數(shù)獨(dú)是一種填字游戲)
四、問(wèn)題解決者
問(wèn)題解決者是目標(biāo)驅(qū)動(dòng)的,冷酷的實(shí)用主義者。每個(gè)有明確定義的問(wèn)題都會(huì)被他解決,詭異地不擇手段地解決。
動(dòng)力
問(wèn)題解決者的動(dòng)力來(lái)自創(chuàng)造價(jià)值,所以他們關(guān)注結(jié)果多于關(guān)注過(guò)程。
超能力
● 傾聽(tīng)
● 付諸行動(dòng)
● 利用技術(shù)來(lái)解決現(xiàn)實(shí)問(wèn)題,而不是亂上添亂
劣根性
● 容易激怒純粹主義程序員
● 機(jī)會(huì)主義者
忌諱
● 給他們繁忙的工作
● 分配給他們沒(méi)頭沒(méi)腦的任務(wù)
成為一個(gè)優(yōu)秀的程序員
當(dāng)然,不可能每個(gè)程序員都能簡(jiǎn)單地對(duì)號(hào)入座。重點(diǎn)是,優(yōu)秀的途徑有很多種。作為一個(gè)程序員,這四種人才都需要大力培養(yǎng)。當(dāng)你面對(duì)任何困境,都能找到合適的人來(lái)解決,這才是真正的優(yōu)秀。
it知識(shí)庫(kù):你是優(yōu)秀程序員嗎?,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。