程序員最喜歡用的密碼_程序員有前途嗎_解讀卓越程序員密碼(1)
本文關(guān)鍵詞:卓越程序員密碼,由筆耕文化傳播整理發(fā)布。
雨夜,北京,在家讀了《卓越程序員密碼》一書,覺得有一些內(nèi)容值得回味,所以寫了這篇讀書筆記。
卓越程序員密碼
本書的作者是Ka Wai Cheung,一看名字就知道是中國人,的確如此,作者名叫張家為,是一名程序員和設(shè)計師,同時也是美國芝加哥“We Are Mammoth”公司的聯(lián)合創(chuàng)始人,公司名稱翻譯成中文是“我們是猛犸”,很好玩的一個名字。
出于好奇,我看了We Are Mammoth的網(wǎng)站,網(wǎng)站設(shè)計的既有趣又有愛,可想而知,這是一家充滿活力的公司。如果大家有興趣,可以去那里瀏覽他們的公司主頁。
這本《卓越程序員密碼》,并不厚,全書總共只有157頁,分為9個章節(jié),分別是“引言”、“比喻”、“動力”、“生產(chǎn)力”、“復(fù)雜性”、“教學(xué)”、 “客戶”、“代碼”和“自豪感”。直到第8章才提到代碼,足以說明這本書其實并不是教你如何編程的,而是教你如何高效的出色的完成任務(wù)的。
言歸正傳,我們來看看這本書里哪些段落是值得回味和思考的。
本書的封面:
【思想相通】
在編程的世界里,我們會和各種各樣的“語言”打交道。雖然我主要的服務(wù)器端開發(fā)語言是C#,但我的工作方法卻幾乎可以完全應(yīng)用到Java、PHP、 Ruby和Python上。編程語言雖然有不同,但核心的編程思想、方法和架構(gòu)卻是高度類似的。我們只是用不同的方式來表達(dá)而已。
【普通人不了解編程】
大廚用不著琢磨烹飪要怎么比喻,肉湯要是太咸了,你一下就能嘗出來了;音樂家也不用這么拐彎抹角地描述歌曲,一個調(diào)子聽起來太老套,是因為你早先就 聽過一樣的節(jié)奏。別人一下就明白了。然而,,編程可不大一樣。普通人看不出來什么樣的代碼優(yōu)雅,什么樣得代碼一團(tuán)糟。我們這個行業(yè)非常新。人類做飯、創(chuàng)作音 樂、蓋房子都有幾千年了,可是考古學(xué)家還沒在巖壁上發(fā)現(xiàn)“人類坐在桌前打字”這種圖案。
【不要過度規(guī)劃】
在傳統(tǒng)的建筑行業(yè)中,規(guī)劃是至關(guān)重要的。因為要建一個摩天大樓,撤銷(ctrl-z)、剪貼(ctrl-x)和拷貝(ctrl-c)都是行不通的。 建筑上沒法享受這些簡潔而強(qiáng)勁的案件,所以需要非常詳盡的說明書。日進(jìn)斗金的房地產(chǎn)生意和災(zāi)難性得頭條新聞之間就只有一步之遙。所以,要是打算建造一棟摩 天大樓,把建筑說明書寫得詳細(xì)到讓人想吐才是最合理的做法。
反過來,這些就是我們這個行業(yè)獨有得奢華享受了。軟件組件又不需要等著本地的工廠發(fā)運字母和數(shù)字。打字、編譯、測試,然后重復(fù)就行了。我們可以在實 際產(chǎn)品上測試代碼,而不用對著產(chǎn)品的某種模具測試。在開發(fā)過程中,我們可以看著懸索橋斷成千上萬次,在各種地方斷,在各種條件下斷,而不用擔(dān)心浪費材料或 者鬧出人命。
在寫第一行代碼之前做出非常詳細(xì)的說明書仍然有些好處,但這沒能充分利用到這種媒介的優(yōu)勢。“規(guī)劃、規(guī)劃、規(guī)劃”過于強(qiáng)調(diào)要花大量時間計劃讓所有東西臻于完美,而忽視了可以用好實際寫代碼的工夫。
【扔掉舊代碼】
即使我確定要重新實現(xiàn)我前一陣子寫過的東西,早先注釋掉的東西一般來說也無論如何用不上。我可能把其他地方的邏輯動過了,舊代碼里面引用的對象或者方法可能也變了。比起重新干干凈凈地把代碼寫對,要把這舊代碼救活,我得花上更多的時間在那兒東敲西補(bǔ)。
不要把代碼囤積在注釋里,刪除代碼可以讓代碼庫精簡。眼前的頁面應(yīng)該精確地反映出軟件現(xiàn)在的工作方式,一分不多,一分不少,F(xiàn)在就扔掉舊代碼,在編 程中間就不用跳過一堆不相干得垃圾字節(jié)。我們以后也用不著去琢磨,這一大團(tuán)已經(jīng)注釋掉可看起來還很重要的代碼,到底還是不是那么重要。
【多元化勝于專業(yè)化】
在傳統(tǒng)的建筑行業(yè)里,讓電工兼任水泥澆筑工,或者讓鋪磚工去裝管道都是不現(xiàn)實的事情。他們都各有專長,各司其職。但把同樣的理念移植到我們這個行業(yè) 就不大站得住腳了。我們工作所用的工具無非就在眼前的這塊屏幕上。如果正在搞SQL,也用不著要換個地方才能寫HTML或者是在Photoshop里面弄 上一張圖,只要在計算機(jī)上切換程序就行了。編程的科目之間,沒有任何物理上的障礙。
【工作即福利】
在我們這個行業(yè)里,長久的動力并不來自于福利。當(dāng)然,高薪和免費午餐確實不錯,能隨時玩玩桌上足球機(jī)也不賴。但歸根結(jié)底,長久的動力來自于我們所做 的工作。我所見到的每個有激情的程序員,在談?wù)撈鸾?jīng)過長時間苦苦思索才為技術(shù)問題找到的優(yōu)雅解決方案時,都異常興奮,這比說起在公司編程大會上贏得10% 的加薪要興奮得多。
【福利可能是毀滅性的】
表面化的福利實際上會削弱人們工作的積極性。是的,在我們面前晃動的胡蘿卜可能讓我們更加沒有工作的激情。
傳統(tǒng)的商業(yè)激勵因素,比如大筆獎金,可能會成功調(diào)動員工的積極性,但只能用于那些簡單瑣碎的工作,類似于把數(shù)據(jù)從一張表填到另一張表這樣的工作。
相反,那些需要批判性分析和創(chuàng)造性解決方案的工作,就像我們每天面對的這些,把金錢獎勵掛在員工眼前晃悠則沒什么用處。在一些涉及高層次思考的實驗中,金錢激勵和業(yè)績之間是負(fù)相關(guān):給一組特定研究對象的金錢獎勵越多,他們最后做的越糟。
1
內(nèi)容導(dǎo)航
第 1 頁:解讀卓越程序員密碼(1) 第 2 頁:解讀卓越程序員密碼(2)
原文:解讀卓越程序員密碼(1) 返回開發(fā)首頁
本文關(guān)鍵詞:卓越程序員密碼,由筆耕文化傳播整理發(fā)布。
本文編號:69841
本文鏈接:http://sikaile.net/wenshubaike/mishujinen/69841.html