一些鮮爲人知的編程事實之感想

投遞人 itwriter 發佈於 2010-09-03 11:28 評論(2) 有481人閱讀  原文鏈接  [收藏]

英文原文:Some lesser-known truths about programming

我的程序員經歷讓我明白了一些關於軟件開發的事情。下面是一些在編程中可能會讓人感到詫異的事情:

  • 一個程序員用了大約只用了10%-20%的時間來編碼,而且大多數程序員,無論他的水平如何,其平均每天只有10-12行的代碼最終會進入最終的軟件產品中。這是因爲,優秀的程序員會花費90%的時間來思考、調查、研究最佳的設計。而糟糕的程序員則會花費90%的時間來調試代碼,並隨意地改動代碼並嘗試讓代碼工作起來。

“A great lathe operator commands several times the wage of an average lathe operator, but a great writer of software code is worth 10,000 times the price of an average software writer.”–Bill Gates

“一個優秀的車工其工資是一個普通車工的好幾倍,但是一個優秀程序員寫出來的代碼比一個普通程序員要值錢一萬倍。——比爾蓋茨”

  • 一個好的程序員比一個普通的程序員多十倍的生產率。而一個優秀的程序員的生產率則比普通程序員多20-100倍。這並不是誇張(自從上世紀60年代的研究一直表明這是一個事實)。一個糟糕的程序員並不只是沒有產出的——他們並不僅是完成不不工作,而且還會製造出大量的讓別人頭痛並要去解決的麻煩。 
  • 優秀的程序員花少量的時間寫代碼——那些代碼都會出現在最終的產品中。那些花大量的時間寫代碼的程序員其實是很懶惰、很無知,或是很自大的,以至於不能使用已經存在了的解決方案來解決已有的問題。優秀的程序員精通於對通用的模式的識別和重用。好的程序員並不害怕持續地重構/重寫自己的代碼,直到達到最理想的方案。糟糕的程序員的代碼基本上都缺少概念一致性,代碼冗長,缺少層次和模式,所以,也就很難被重構。所以,重寫他們的代碼要比重構他們的代碼要容易得多。
  • 軟件和其它一切事物一樣,都遵循着一致性規則。持續的更改只會讓軟件變成一潭爛泥,破壞了原始設計的概念一致性。軟件產品變成泥沼是不可避免的事情,但是因爲程序員不考慮軟件概念一致性,而導致軟件產品更爲快速地成爲泥沼,這種速度快得可能會在軟件產品還沒有完成時,軟件產品已經變得沒有價值。設計概念一致性的失敗通常都會導致軟件項目的失敗(而第二大導致軟件項目失敗的原因則是發佈的軟件並不是用戶想要的)。軟件變成爛泥的速度正在呈指數級下降,太多的項目在被完結前都面臨着激增的時間和成本。
  • 一個 2004 研究報告 指出,大多數的軟件項目(51%)都會在關鍵環節出問題。而15%的項目則是完全失敗,當然,這比1994年有了很大的進步,當時完全失敗的項目是31%。
  • 雖然,幾乎所有的軟件產品都有些開發團隊,但其並不是民主的。通常,只有一個人負責設計,而剩下的人去實現細節。
  • 編程是一個辛苦的工作,是一個劇烈的腦力勞動。好的程序員24×7地在思考他們的工作,他們一般都在在洗澡和夢中編寫軟件中最重要的代碼。因爲最重要的工作只能在鍵盤之外完成,軟件項目不可能因爲加班或是加人來加快進度。

評論:

這是Heero發給我看的,我不知道什麼時候愛上編程,然後喜歡上思考,唐師傅曾經說過,如果你的思路模糊了,不要寫代碼先,好好思考一下,把思路、流程寫在紙上,搞清楚了,再動手也不遲,這樣,不至於在迷茫的代碼中掙扎,徘徊地在十字路口做出選擇。

 

“編程是一個辛苦的工作,是一個劇烈的腦力勞動。好的程序員24×7地在思考他們的工作,他們一般都在在洗澡和夢中編寫軟件中最重要的代碼。”

我認同,08年做一個項目的時候,一個關鍵性的代碼怎麼都想不出來,那天,洗澡的時候,突然想到,我趕緊喊老婆拿紙和筆,幫我記住,想必大家想問,這個時候她是不是應該問我:“是不是有毛病呀”,呵呵。

這種事情不知道發生過多少次,有時候是在公司的WC裏面,洗手的時候也會靈機一動,而至於夢中寫代碼,那是09年,睡醒之後,感覺有點累。

代碼,不是簡單的敲打,它是有思想的流程體現,好的代碼,如同文筆好的文章,有意境在;

但,要做到這種境界,可不是簡單的思考和敲打,還需要一種環境、氛圍!

 

古人寫文章講究“起,承,轉,合”,意境***在其間。

李白喜歡喝酒寫詩,而酒對人的神經有興奮作用,喝酒後,人就處於一個非常興奮地狀態,思維就比較活躍,靈感就容易光顧,因此李白就能寫出好的詩歌。

這也是李白的個性,不喝酒,或許寫不出好詩,每個人需要根據自身特點,配合環境來發揮自己,也不能完全是人云亦云!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章