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