關于編程一些鮮為人知的真相

jopen 10年前發布 | 10K 次閱讀 編程

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

        作為一個程序員,我的經歷讓我學會了關于編程方面的知識。下面是一些關于我們在編程時或許會大吃一驚的事實真相:

關于編程一些鮮為人知的真相

        如果把所有項目的生命周期平均一下,那么一個程序員大概 10-20% 的時間用來寫代碼,并且大多數程序員可能每天大約只有 10-12 行代碼會進入最終的產品,無論技能水平如何。優秀的程序員會將剩余的 90% 的時間大多用在思考、研究和試驗上以發現更棒的設計。而非優秀程序員他們的大多數剩余時間是在調試代碼。

        一個好的程序員的工作效率是普通程序員的 10 倍,而一個偉大的程序員則是普通的 20-100 倍。這絕對沒有夸大其詞——這是自上個世紀 60 年代起就開始的研究表明的。一個糟糕的程序員不單是一事無成,相反——不僅完不成分配給他的任何工作,還會制造各種各樣的麻煩和問題需要別人來解決。

“偉大的車工拿幾倍于普通車工的工資,但是一個偉大的代碼作家——程序員卻是值得我們付出普通軟件寫手 10,000 倍的薪水。” – 比爾·蓋茨

        偉大的程序員只需用很少的時間寫代碼——因為很多代碼都幾乎不用怎么修改就能用在最終產品中。反而是那些花了很多功夫寫代碼的程序員——懶惰、 無知、狂妄,不去想那些老問題的解決方案,以致于問題一直是問題。偉大的程序員是識別和重復使用通用模式方面的高手,他們對于需要重構(重寫)代碼來達到 理想的設計毫不畏懼。糟糕的程序員寫出來的代碼,總是缺乏概念上的完整性,不可冗余性,沒有層次結構和模式可言,所以如果要重構的話就會變得異常困難,這 樣還不如把這些垃圾代碼刪掉,再重新寫過方便呢。

        像其他過程一樣,軟件開發服從熵的規律。連續不斷的變化會削弱原設計的概念完整性,從而最終導致軟件的死掉。雖然說,軟件的逐漸衰敗直至死亡是 不可避免的,但是如果程序員不能考慮到概念上的完整性的話,軟件就會迅速腐敗,在它被完成之前就一文不值毫無價值了。缺乏完整性所造成的失敗可能是軟件項 目失敗的最常見原因了。(第二個最常見的原因是不能滿足客戶的需求。)軟件衰敗會以指數級的速度迅猛減緩進程,所以很多項目在快要面臨自殺式死亡之前都會 被無情地抹殺。

        2004 年的一項研究發現,大多數的軟件項目(51%)在某個重要方面失敗,15% 將完全失敗。而這已經是個進步了,要知道自 1994 年以來,完全失敗的比例高達 31%。

        雖然大多數的軟件是由團隊制作的,但卻不是一個民主的活動。通常情況下,只有一個人負責設計,而團隊中的其他人則補充細節。

        編程是項艱苦的活計,也是一個很激烈的腦力活動。優秀的程序員一周 7 天一天 21 小時都在想他們的工作。那些超棒的代碼搞不好是他們在洗澡或者睡覺的時候想出來的。正是因為這些最重要的任務無需敲著鍵盤就可以完成,開發軟件項目的時候 也就沒有必要加派人手或者加班加點在辦公室熬夜了。

        譯文鏈接:http://news.html5tricks.com/some-lesser-know-programming.html

        翻譯作者:IT 新聞 – 蔣麗麗

 

</div>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!