民初思韻網

加入收藏   設為首頁
選擇語言   簡體中文
你好,請 登陸 或 注冊
首頁 人文思韻 傳奇人物 歷史思潮 時代作品 話題討論 國民思韻 民初捐助 賬戶管理
  搜索  
    人文精神 >>> 技術話題—商業文明的嶄新時代
字體    

關于程序員開發效率的悖論
關于程序員開發效率的悖論
網載     阅读简体中文版

關于程序員開發效率的悖論

程序員看起來應該都是一幫非常高產的人。

你總能看到他們在電腦桌前噼里啪啦的敲著鍵盤;他們焦急的等待會議結束,希望馬上能回去編程。當被問起,他們總是說沒有足夠的時間編寫出這些程序,需要立刻開始編碼,這樣才能及早完成。

看來,敲代碼一定是最重要的事情了,不是嗎?

如果一個普通水平的程序員每天能寫出50行代碼。一個5萬行代碼的程序將會需要1000人/天來開發。把5萬行代碼輸入電腦里,一個程序員每天能錄1000行,也就需要50人/天。

那么,剩下的950天這些程序員都在干什么?

在搞清楚這個問題前,讓我們先看一些簡單的資料。Capers Jones研究了數萬個軟件項目,他通過比較其中的各種軟件開發方法(RUP,極限編程,敏捷開發,瀑布開發等等)和各種編程語言,發現,一個程序員每月平均寫出的代碼大概是325行到750行,比我們上面說到的每月1000行還要少。就算是程序員不是每天只寫50行代碼,但下面兩點是清楚的。

  • 開發方法的差異不能解釋程序員代碼生產量上的不平衡
  • 使用的編程語言無關程序員代碼生產量上的不平衡

combinations2

實際情況是,只有很小一部分的程序員的時間是花在寫代碼上的。如果一個程序員的所有時間都在敲代碼,那他一定是在嘗試不同的代碼組合,直到找到好用的代碼組合。

更準確的說法是,找到看起來是符合需求的“代碼組合”——如果測試人員或業務分析師不來告知說這些代碼是有問題的。

這就是為什么在把手放到鍵盤上前喜歡先計劃代碼如何寫的程序員會比其他程序員效率高的原因。事實上,不僅僅只有很少數的程序員在寫代碼前先計劃,很多即使有多年編程經驗的老程序員也不知道這個道理。一項持續40年的研究表明,程序員的開發效率并不會隨閱歷的增加而增加。(參考No Experience Required!)

多年的編程閱歷并不是必然導致高開發效率

十分有趣的是,各種強調編碼前先計劃的軟件開發方法論都已經存在很長時間了。比如Personal Software Process (PSP),創始人Watts Humphrey根據統計數據說:

PSP能提高21.2%的生產效率和31.2%的質量水平

jquery-whiteboard-marker-no

像這樣優秀的實踐方法有很多。總之,就像作家動筆前先要構思好文章的結構和內容一樣,程序員在按動鍵盤前如果不先琢磨一陣,很可能發生的情況是他的開發效率不會很高。

[英文原文:The Programmer Productivity Paradox ]

 

2014-07-03 12:00

歡迎訂閱我們的微信公眾賬號!
春秋茶館訂閱號
微信號 season-tea(春秋茶館)
每天分享一篇科技/遊戲/人文類的資訊,點綴生活,啟迪思想,探討古典韻味。
  清末民初歷史人物  民初人物
散文大家曠達風趣
梁實秋(1903年1月6日-1987年11月3日),號均默,原名梁治華,字實秋,筆名子佳、秋郎,程淑等,中國著名的散文家、學者、文學批評家、翻譯家,華人世界第一個研究莎士....
新與古典文化研究大家
胡適(1891年12月17日-1962年2月24日),原名嗣穈,學名洪騂,字希疆,後改名胡適,字適之,筆名天風、藏暉等,其中,適與適之之名與字,乃取自當時盛行的達爾文學說....
資助民初精神網
        回頂部     寫評論

 
評論集
暫無評論!
發表評論歡迎你的評論
昵稱:     登陸  註冊
主頁:  
郵箱:  (僅管理員可見)

驗證:   验证码(不區分大小寫)  
© 2011   民初思韻網-清末民初傳奇時代的發現與復興   版權所有   加入收藏    設為首頁    聯繫我們    1616導航