心有多大舞臺(tái)便有多大

          Embrace changes, pursue excellence, share niceness.

          不會(huì)偷懶的程序員不是好程序員!

          今天看了篇文章:
          http://blogoscoped.com/archive/2005-08-24-n14.html

          這篇文章是講為什么好的程序員是既懶有笨的!哈哈!
          我記得在看UNIX編程藝術(shù)時(shí),里面也有這么段話,說(shuō)不會(huì)偷懶的程序員不是好程序員!
          為什么呢!我們可以舉些簡(jiǎn)單的例子:
          1.只有懶惰的程序員才會(huì)去編寫(xiě)那些可以最終代替自己工作的自動(dòng)化工具,好的程序員都會(huì)有一套自己的代碼自動(dòng)生成工具,有的是用模板語(yǔ)言,有的是用shell.在開(kāi)發(fā)一個(gè)新的系統(tǒng)時(shí),系統(tǒng)基礎(chǔ)框架設(shè)計(jì)好后,很多業(yè)務(wù)層代碼基本上都是一個(gè)模子出來(lái)的,要想讓這些代碼都是從一個(gè)模子里出來(lái),那么就需要在底層下很大的功夫才能做到.所以,每個(gè)程序員夠應(yīng)該有,或者會(huì)寫(xiě)代碼自動(dòng)生成工具,當(dāng)然,這個(gè)工具并不是一個(gè)成功工具!它的前提是你必須在底層有足夠的抽象.

          2.只有懶惰的程序員才不會(huì)去去寫(xiě)大段的冗余重復(fù)的代碼,他們會(huì)想出各種方法來(lái)避免這種冗余代碼的情況,做的好的,就是在系統(tǒng)的基礎(chǔ)架構(gòu)層來(lái)解決大部分這樣的問(wèn)題,通過(guò)精致的設(shè)計(jì)模式,高度抽象的模塊,易用的接口,高度可配置的基礎(chǔ)平臺(tái)等等來(lái)實(shí)現(xiàn),做的一般的會(huì)利用各種開(kāi)源工具來(lái)代替自己想要的代碼,做的差些的就是不斷利用refactor重構(gòu)出那些重復(fù)代碼.

          3.好程序員怎么可能"笨"呢!哈哈!俺們可都是天之驕子啊!小心我扔你雞蛋啊!
          很聰明的程序員一般比較自信,難以聽(tīng)進(jìn)別人的意見(jiàn),在一個(gè)團(tuán)隊(duì)中,最怕的并不是怕沒(méi)有技術(shù)好的人,而是怕那些很聰明的人不跟你團(tuán)隊(duì)保持一致,舉個(gè)例子,可能團(tuán)隊(duì)里有一套通用的數(shù)據(jù)存取方法,但聰明的程序員會(huì)堅(jiān)持己見(jiàn),自己發(fā)明出一套新的方法來(lái)!聰明的程序員會(huì)認(rèn)為自己更懂客戶的需求,而不顧市場(chǎng)人員提出的需求.這也是為什么很多人會(huì)說(shuō)"要對(duì)團(tuán)隊(duì)中聽(tīng)話的人委以重任",我當(dāng)然不同意這種看法,但是,既聰明團(tuán)隊(duì)意識(shí)又好的人,就比較少見(jiàn)了.團(tuán)隊(duì)不行的話,一個(gè)人再聰明又有什么用?

          4.聰明的程序員喜歡自己重新發(fā)明輪子!笨的程序員喜歡利用聰明的程序員寫(xiě)出的代碼!

          5.聰明的程序員一般有自己思維的定勢(shì),笨的程序員因?yàn)槭裁炊疾欢?所以他的眼里什么都是可能,什么都是不可能!查找代碼問(wèn)題的時(shí)候,聰明的程序員首先會(huì)說(shuō):這是系統(tǒng)的bug,笨的程序員會(huì)看看自己的代碼是不是有拼寫(xiě)錯(cuò)誤!笨的程序員跟容易換位思考,下面有個(gè)例子:
          一段關(guān)于web開(kāi)發(fā)問(wèn)題的程序員和客服人員的對(duì)話:

          “從昨天開(kāi)始我們的用戶就看不到我們站點(diǎn)上的Logo了。”
          “他試過(guò)重啟瀏覽器么?”
          “是的。”
          “他試過(guò)重啟電腦么?”
          “是的。”
          “他清空過(guò)瀏覽器Cache么?”
          “是的。”
          “他的瀏覽器版本是IE6么?”
          “是的。”
          “他確信是真的看不到Logo了么?”
          “是的。”
          “他是在電腦顯示器屏幕上看我們的站點(diǎn)么?”
          “什么?”
          “比如說(shuō),它可能是打印出來(lái)看不到?”
          “不。他是在顯示器上看的。”
          “除了站點(diǎn)Logo之外,他是不是其他的圖片都看不到?”
          “什么?哦。我再問(wèn)問(wèn)他。”

          也許,聰明的程序員遇到這個(gè)問(wèn)題的時(shí)候,甚至可能去找個(gè)圖形算法分析下這個(gè)圖片是否有問(wèn)題!

          最后,以http://blogoscoped.com/archive/2005-08-24-n14.html中的故事結(jié)尾,,以博列為看官一笑^_^
          It’s like the story of the centipede(蜈蚣). The centipede was very good at walking with its hundred legs. It never spent a thought on just how it could walk. Until one day, when a big black bug(臭蟲(chóng)) asked the centipede “How can you manage to walk with all those feet? Don’t you find it hard to coordinate their rhythm?” The black bug already left, when the centipede was still sitting down, pondering how it could walk, wondering, and (for the first time in his life) even worrying a little bit. From that day on, the centipede couldn’t walk anymore.
          So you better not think too much if you want to achieve something. And of course this is only half the truth, too...

          posted on 2008-06-20 11:38 pony 閱讀(2185) 評(píng)論(4)  編輯  收藏 所屬分類: 網(wǎng)站

          評(píng)論

          # re: 不會(huì)偷懶的程序員不是好程序員! 2008-06-20 14:50 seewood@gmail.com

          懶惰是行為上的,至少思想上必須是勤勞的。但是有的真正的懶惰的程序員是思想上的懶惰:大段冗余的程序?沒(méi)有關(guān)系,至少可以用copy大法,不需要想太多,反正工資是一樣的  回復(fù)  更多評(píng)論   

          # re: 不會(huì)偷懶的程序員不是好程序員! 2008-06-20 15:01 pony

          @seewood@gmail.com
          呵呵,對(duì)于這些真正懶惰的程序員,我想只能送下面的這段話給他:
          UNIX編程藝術(shù)的一段話:
          “軟件設(shè)計(jì)和實(shí)現(xiàn)應(yīng)該是一門(mén)充滿快樂(lè)的藝術(shù),一種高水平的游戲。如果這種態(tài)度對(duì)你來(lái)說(shuō)聽(tīng)起來(lái)有些荒謬,或者令你隱約感到有些困窘,那么請(qǐng)停下來(lái),想一想,問(wèn)問(wèn)自己是不是已經(jīng)把什么給遺忘了。如果只是為了賺錢(qián)或是打發(fā)時(shí)間,你為什么要搞軟件設(shè)計(jì)而不是別的什么呢?你肯定曾經(jīng)也認(rèn)為軟件設(shè)計(jì)值得你付出激情......"
            回復(fù)  更多評(píng)論   

          # re: 不會(huì)偷懶的程序員不是好程序員! 2008-06-20 18:15 HiMagic!

          懶的是手,勤的是腦。要以做重復(fù)勞動(dòng)為恥。  回復(fù)  更多評(píng)論   

          # re: 不會(huì)偷懶的程序員不是好程序員! 2008-06-21 08:45 Matthew Chen

          說(shuō)偷懶是玩笑話。
          寫(xiě)程序就是寫(xiě)程序,想的并沒(méi)有那么復(fù)雜,寫(xiě)好了就是。
          不過(guò)lz文章中的聰明的程序員指的只是小聰明,是聰明反被聰明悟的那種。  回復(fù)  更多評(píng)論   

          主站蜘蛛池模板: 漳州市| 永仁县| 金秀| 乐昌市| 莱西市| 塔城市| 新疆| 龙陵县| 柳州市| 钦州市| 加查县| 邻水| 新丰县| 自治县| 兴海县| 灵武市| 曲水县| 甘孜县| 大足县| 社旗县| 岳西县| 山东省| 曲周县| 商南县| 奉新县| 苗栗市| 新野县| 灵台县| 醴陵市| 扎赉特旗| 乐至县| 汤阴县| 迭部县| 佳木斯市| 德阳市| 类乌齐县| 军事| 宜阳县| 织金县| 浦北县| 恩平市|