<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    冷面閻羅

    低調(diào)做人&&高調(diào)做事
    隨筆 - 208, 文章 - 3, 評(píng)論 - 593, 引用 - 0
    數(shù)據(jù)加載中……

    (轉(zhuǎn))什么才是軟件開(kāi)發(fā)的葵花寶典?

    中國(guó)人大都喜歡用武俠小說(shuō)來(lái)比較軟件開(kāi)發(fā),但是在實(shí)戰(zhàn)武功中,只有葵花寶典才是最厲害的,也只有掌握了葵花寶典,才能稱(chēng)為"不敗"。

    但什么才是軟件開(kāi)發(fā)的葵花寶典?

    讓我們先從一些現(xiàn)象出發(fā)。我們的前提是,軟件開(kāi)發(fā)是一項(xiàng)智力密集型勞動(dòng)。對(duì)于智力密集型勞動(dòng),我們觀察到的現(xiàn)象是,個(gè)體的表現(xiàn)差異很大,團(tuán)隊(duì)的表現(xiàn)差異很大,組織的表現(xiàn)差異很大,國(guó)家的表現(xiàn)差異很大。這不象體力占主要的勞動(dòng),象百米王跑百米的速度也僅比我快50%。但在棋類(lèi)運(yùn)動(dòng)中,一個(gè)高手可以車(chē)輪戰(zhàn)數(shù)位低手,而且毫無(wú)例外地將他們一一擊敗!

    這些智力運(yùn)動(dòng)員表現(xiàn)出的特點(diǎn)是,計(jì)算精確而且速度快。其行為很象東方不敗。雖然關(guān)于葵花寶典的傳說(shuō)很多,但最準(zhǔn)確的描述只有一個(gè)字"快"。東方不敗已經(jīng)快到了嚇人的地步。就象卡斯帕羅夫已快到了深藍(lán)的地步。

    有一則關(guān)于物理學(xué)家玻爾的軼事,有一次玻爾在普林斯頓大學(xué)聽(tīng)兩個(gè)年青教授演講他們的工作成果。期間玻爾突然發(fā)言說(shuō),如果照你們的研究算下去,會(huì)得到一個(gè)很有意思的推論。結(jié)果兩個(gè)年青教授回去計(jì)算了兩天,果然得出了同樣的結(jié)論。玻爾是如何做到這樣快的?

    在軟件開(kāi)發(fā)中,我們同樣注意到這樣一種高手,他們可以每天寫(xiě)出一千行左右的高品質(zhì)代碼。他們可以運(yùn)用已有的一些軟件包,迅速完成一個(gè)新的產(chǎn)品。他們可以在很短的時(shí)間內(nèi),學(xué)會(huì)一項(xiàng)新的程序語(yǔ)言或是新技術(shù)。他們表現(xiàn)出一種神奇的速度。

    在武俠小說(shuō)中,所有的高手都有一些凡人不能企及的表現(xiàn)。象張無(wú)忌學(xué)太極,用龍爪手擊敗龍爪手名家;喬峰用太祖長(zhǎng)拳擊敗天下英雄;姑蘇慕容以其人之道還治其人之身,令狐沖一劍剌瞎十幾雙眼睛等等。我認(rèn)為,之所以他們能做到這樣,關(guān)鍵是在于他們快。

    快并不意味著不準(zhǔn)或品質(zhì)差。快與品質(zhì)并不矛盾。

    高手的快,其實(shí)包含著很高的品質(zhì)在其中。如果你因?yàn)楦呤值目欤唾|(zhì)疑其品質(zhì),那就相當(dāng)于在問(wèn):東方不敗出手那么快,會(huì)不會(huì)刺不準(zhǔn)?東方不敗并不滿足于刺死對(duì)手,他會(huì)在對(duì)手身上刺朵花。他把殺人變成了藝術(shù)。準(zhǔn)確來(lái)說(shuō),他真正的興趣不在殺人,而在于藝術(shù)。

    退一步說(shuō),就算東方不敗第一擊有點(diǎn)偏差,他稍作修正后,馬上跟上的第二第三擊,也會(huì)擊中他想擊中的地方。在武功差的對(duì)手劍還沒(méi)撥出來(lái)的時(shí)候,他已殺死對(duì)方并刺上了一朵花。

    所以真正的軟件高手,他并不滿足于他的代碼能有效地工作了,他認(rèn)為編程是藝術(shù),并醉心于其中。在低手能寫(xiě)出一個(gè)版本的時(shí)間里,他已經(jīng)寫(xiě)出了第十版。其品質(zhì)當(dāng)然不可同日而語(yǔ)。就象一個(gè)九段棋手,在給定的時(shí)間里,他能計(jì)算十種可能,并將每種可能計(jì)算到100手之后,從中選擇一種最有利的下法。低手豈有茍全的機(jī)會(huì)?

    高手寫(xiě)軟件總是不停地在重構(gòu)(refactoring)。高手喜歡迭代式開(kāi)發(fā)。高手說(shuō),增量就是打補(bǔ)丁,迭代就是推倒重來(lái)。對(duì)于軟件這種東西,寫(xiě)一遍它可能OK(做到這一點(diǎn)也不容易),寫(xiě)十遍就是一個(gè)偉大的產(chǎn)品,再多寫(xiě)一遍它就更偉大些。

    高手快的訣竅在于他很熟悉各種東西。高手看書(shū)很快,因?yàn)槊恳槐拘聲?shū)里,值得他好好看的新技術(shù)只有一兩章的內(nèi)容。他能迅速看完,并準(zhǔn)確領(lǐng)會(huì)這本書(shū)的中心思想和價(jià)值。而對(duì)于一個(gè)新手,每句話都是新的,他都需要去理解,每一段例子,他都需要去試。

    很少看到一種100%全新的技術(shù)或理論。就象Java language specification里說(shuō)的,Java沒(méi)有使用任何新技術(shù),用的都是業(yè)界久經(jīng)考驗(yàn)的技術(shù)。對(duì)于高手來(lái)說(shuō),那些技術(shù)都是他所熟悉的。自然,很快他就從一個(gè)C++高手變成了Java高手。如果一個(gè)編程新手學(xué)Java,學(xué)兩年也不如一個(gè)高手學(xué)兩個(gè)月的。高手學(xué)新東西快。

    高手寫(xiě)代碼速度快。統(tǒng)計(jì)結(jié)果說(shuō),人均每人月的有效代碼速度大概是300至400行。但那是業(yè)界平均生產(chǎn)效率。對(duì)于高手來(lái)說(shuō),這個(gè)數(shù)字太低了。每天寫(xiě)300至400行是完全有可能的。因?yàn)樵趯?xiě)代碼時(shí),所有知識(shí)都已具備,已經(jīng)沒(méi)有任何需要他多花時(shí)間的事情了。他甚至很少需要Debug。

    高手重用代碼的能力很強(qiáng),熟悉新的API的速度很快。這也是因?yàn)椋?jīng)使用過(guò)很多的API,重用過(guò)很多的代碼。他知道哪些是可用的,哪些有缺陷。他既過(guò)用Qt,也用過(guò)gtk+,也用過(guò)windows API & MFC,也用過(guò)AWT & SWING。新的API對(duì)他來(lái)說(shuō),也是老熟人。

    高手喜歡用輕量級(jí)的工具,象vi,notepad,最多到UltraEdit這樣復(fù)雜的。高手用這種工具寫(xiě)出很多的東西。這些工具就象東方不敗的針。那根針已具有神奇的魔力,有時(shí)候它可以當(dāng)激光槍來(lái)用。

    對(duì)于一些重量級(jí)的工具,高手雖不常用,但一經(jīng)使出也威力大于常人。如果讓東方不敗用劍,最厲害的劍術(shù)名家也會(huì)敗得很難看。高手其實(shí)用過(guò)很多的重量級(jí)工具,而且深知其優(yōu)缺點(diǎn)。所以使出來(lái),就會(huì)把威力發(fā)揮到最大,而把缺陷減少到最小。而低手則不然,總是把缺陷加以大大的發(fā)揚(yáng)而渾不知其精髓何在。就象很多人學(xué)用UML、RUP、XP、Design pattern那樣。

    高手所學(xué)博雜且融會(huì)貫通。高手做什么都快,當(dāng)?shù)褪诌€在一愁莫展的時(shí)候,高手已經(jīng)圓滿解決問(wèn)題,去干別的事去了。

    在成為高手的路上,要有熱情,要循序漸進(jìn),要持之以恒。

    要逼自己,書(shū)要快快地看。要試圖迅速理解其主旨。其實(shí)你快快看所接受的信息量,與慢慢看接受的差不多。能明白多少很大程度上取決于你的功底。以后用到再回過(guò)頭來(lái)看。一本對(duì)你來(lái)說(shuō)新東西太多的書(shū),不要指望看一次就全理解吸收。就象很多功力不夠的人看design patterns那本書(shū)一樣。慢慢看還不如找到多種信息來(lái)源,都快快看一遍。對(duì)于一個(gè)完全陌生的領(lǐng)域,只看一本書(shū)很遠(yuǎn)遠(yuǎn)不夠的。

    要逼自已,事要快快做。有一個(gè)朋友,幾年前我介紹他去玩玩linux,他也表示想玩,但他現(xiàn)在還沒(méi)碰過(guò)。他失去了很多機(jī)會(huì)。

    平時(shí)要有意識(shí)提高自己寫(xiě)代碼的速度,其實(shí)你一天寫(xiě)15行有效代碼,與你寫(xiě)50行有效代碼,其品質(zhì)是差不多的。你應(yīng)該把那些業(yè)界平均水平拋諸腦后,把超越自己做為唯一目標(biāo)。等到你寫(xiě)了很多各式各樣的代碼,你的水平就不一般了。一個(gè)老師曾向我介紹他的學(xué)英語(yǔ)的決竅,他說(shuō)你去啃原版小說(shuō),啃到50本,就和一般人有很大距離了。就是這個(gè)理。如果你寫(xiě)得太慢,怎么能寫(xiě)得多?水平怎么能提高?

    要逼自己,學(xué)很多別人怕學(xué)的東西。低手總會(huì)說(shuō):這么多東西怎么學(xué)得過(guò)來(lái)啊。于是就少學(xué)或不學(xué)。這樣就成不了高手了。高手有非常廣的知識(shí)面,有很豐富的經(jīng)驗(yàn)。知道很多低手不知道的事。玩過(guò)很多低手聽(tīng)都沒(méi)聽(tīng)過(guò)的東西。

    要逼自己,努力滿足客戶的各種需求。個(gè)人技能是在滿足客戶的各種需求的過(guò)程中提高的。比如你喜歡用Delphi,客戶說(shuō)一定要用VB,那你就答應(yīng)他,然后把自己培養(yǎng)成為VB的高手。用戶的需求看似變態(tài),但對(duì)你是一個(gè)機(jī)會(huì)。

    怎樣才能做到看書(shū)快,寫(xiě)代碼快,學(xué)新東西快,一個(gè)顯而易見(jiàn)的途徑就是將工作并行化。你在一臺(tái)機(jī)器上make時(shí),同時(shí)可以在看別的文檔和聊天。對(duì)于計(jì)算機(jī)是這樣,對(duì)人也是這樣。如果你只能串行地處理問(wèn)題,你的速度將提高有限。你的大腦有很大潛力可挖,它應(yīng)該是一個(gè)多任務(wù)分時(shí)系統(tǒng)。努力減少它idle的時(shí)間。搞經(jīng)濟(jì)的Samuelson被人稱(chēng)為human brain main frame,可見(jiàn)他的大腦有多快。

    讓你的思維快起來(lái),你就會(huì)區(qū)別于那些反應(yīng)遲鈍的人。如果你不能讓人生的道路變長(zhǎng),就讓它變寬。這世界變化快,需要你變得比它快才行。

    這樣加快并不會(huì)讓你短命,相反,你有更多的時(shí)間來(lái)享受生活和鍛煉身體。你的生活將更有品質(zhì),更豐富,更有意義。面對(duì)變化,你將立于不敗之地。我們都是和自己賽跑的人,需要跑得比昨天的自己更快。

    posted on 2008-02-03 14:46 冷面閻羅 閱讀(2655) 評(píng)論(11)  編輯  收藏 所屬分類(lèi): 其他

    評(píng)論

    # re: (轉(zhuǎn))什么才是軟件開(kāi)發(fā)的葵花寶典?  回復(fù)  更多評(píng)論   

    好貼!
    2008-02-03 15:40 | RZH

    # re: (轉(zhuǎn))什么才是軟件開(kāi)發(fā)的葵花寶典?  回復(fù)  更多評(píng)論   

    轉(zhuǎn)?從哪兒轉(zhuǎn)的呀。
    2008-02-03 16:25 | maduoyuan

    # re: (轉(zhuǎn))什么才是軟件開(kāi)發(fā)的葵花寶典?  回復(fù)  更多評(píng)論   

    向你們致敬,馬上就過(guò)年了,但是我們java程序員依舊奮斗在學(xué)習(xí)的第一線,希望我們年后都事事如意!
    2008-02-03 17:17 | 冷面閻羅

    # re: (轉(zhuǎn))什么才是軟件開(kāi)發(fā)的葵花寶典?  回復(fù)  更多評(píng)論   

    其實(shí)真正重要的根本不是技術(shù)。

    我根本不相信樓主還能記得去年做過(guò)的代碼。

    快不是好,只是個(gè)優(yōu)勢(shì),在某些情況下。

    我們不需要代碼狂人。
    2008-02-04 10:47 | jiangxb

    # re: (轉(zhuǎn))什么才是軟件開(kāi)發(fā)的葵花寶典?  回復(fù)  更多評(píng)論   

    我之前做的代碼,現(xiàn)在只能CTRL+V了,其實(shí)寫(xiě)代碼不必要完全記住代碼,只要“會(huì)”寫(xiě)就可以了。
    2008-02-05 11:17 | 冷面閻羅

    # re: (轉(zhuǎn))什么才是軟件開(kāi)發(fā)的葵花寶典?  回復(fù)  更多評(píng)論   

    需不需要先自宮?
    2008-02-14 11:57 | 咖啡屋的鼠標(biāo)

    # re: (轉(zhuǎn))什么才是軟件開(kāi)發(fā)的葵花寶典?  回復(fù)  更多評(píng)論   

    # re: (轉(zhuǎn))什么才是軟件開(kāi)發(fā)的葵花寶典? 回復(fù) 更多評(píng)論
    我之前做的代碼,現(xiàn)在只能CTRL+V了,其實(shí)寫(xiě)代碼不必要完全記住代碼,只要“會(huì)”寫(xiě)就可以了。
    --------------------------------------------
    經(jīng)常CTRL+V代碼的程序員屬于生產(chǎn)垃圾代碼階段的程序員
    2008-02-14 15:21 | xml

    # re: (轉(zhuǎn))什么才是軟件開(kāi)發(fā)的葵花寶典?[未登錄](méi)  回復(fù)  更多評(píng)論   

    作者是胡扯吧,這種狂人只是作坊式的程序員.一個(gè)大型的團(tuán)隊(duì)對(duì)每天的代碼行數(shù)都有規(guī)定的,不能超過(guò),也不能低于.
    2008-02-15 09:04 | dybjsun

    # re: (轉(zhuǎn))什么才是軟件開(kāi)發(fā)的葵花寶典?  回復(fù)  更多評(píng)論   

    有意思……
    2008-02-17 12:35 | 83ddd

    # re: (轉(zhuǎn))什么才是軟件開(kāi)發(fā)的葵花寶典?  回復(fù)  更多評(píng)論   

    好貼啊,收藏.
    技術(shù)在于精,在于融會(huì)貫通.
    2008-02-19 17:30 | 長(zhǎng)弓落日

    # re: (轉(zhuǎn))什么才是軟件開(kāi)發(fā)的葵花寶典?  回復(fù)  更多評(píng)論   

    MEI KAN DONG
    2008-07-20 17:27 | WI
    主站蜘蛛池模板: 亚洲熟女综合色一区二区三区 | 国产色爽免费无码视频| 国产成人免费网站在线观看| 亚洲综合伊人制服丝袜美腿| 0588影视手机免费看片| 亚洲精品熟女国产| 久久久久国产成人精品亚洲午夜| 日韩精品亚洲专区在线影视| 成全高清视频免费观看| 亚洲av专区无码观看精品天堂| 阿v视频免费在线观看| 国产一级特黄高清免费大片| 日韩国产精品亚洲а∨天堂免| 香蕉高清免费永久在线视频| 亚洲色偷偷色噜噜狠狠99网| 全免费a级毛片免费看不卡| 亚洲精品国产suv一区88| 在线观看国产情趣免费视频| 国产成人亚洲午夜电影| 国产精品亚洲综合一区| 男人天堂免费视频| 亚洲精品动漫在线| 搡女人真爽免费视频大全| 亚洲欧洲国产综合AV无码久久| 国内精品免费视频自在线| 国产精品亚洲а∨天堂2021| 在线亚洲精品自拍| 亚洲中文字幕AV在天堂| 巨胸喷奶水视频www网免费| 国产精品亚洲专区无码不卡| 亚洲午夜国产精品无码老牛影视| 在线观看免费无码专区| 亚洲人成人77777网站不卡| 国产成人青青热久免费精品| 精品一区二区三区高清免费观看 | 免费人成视网站在线观看不卡 | 久久这里只精品热免费99| 亚洲av日韩av欧v在线天堂| 亚洲AV无码一区二区三区牛牛| 日韩一区二区免费视频| 99精品免费视品|