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