最多的時(shí)候,一個(gè)禮拜寫了上萬(wàn)行代碼,那時(shí)候每天睡覺都很香,因?yàn)槔郏?/div>
比爾蓋茨曾說(shuō)過(guò):“用代碼行數(shù)來(lái)衡量程序的開發(fā)進(jìn)度,就好比用重量來(lái)衡量飛機(jī)的制造進(jìn)度。”
的確,在編寫代碼之前,需要有需求獲取分析、需求建模、系統(tǒng)的架構(gòu)、系統(tǒng)模塊的設(shè)計(jì)、以及之后的測(cè)試等工作需要做。最終所編碼的時(shí)間也所剩無(wú)幾了。
在國(guó)內(nèi)某些公司,對(duì)于一些熟練的程序員,每天 100 行代碼是正常的生產(chǎn)率(包括需求分析、設(shè)計(jì)、編碼、單元測(cè)試和系統(tǒng)測(cè)試)。
但是對(duì)于缺乏編碼經(jīng)驗(yàn)的畢業(yè)生或轉(zhuǎn)型的從業(yè)者來(lái)說(shuō),代碼產(chǎn)出量也須另當(dāng)別論了。
在國(guó)外,作為科技巨頭的之一的 Google,他們的工程師每天能寫多少的代碼呢?
Google 的 AdMob 全棧工程師 Raymond Farias 曾發(fā)表評(píng)論表示:“我的同事告訴我,根據(jù)以往的調(diào)查證明,一名高效的工程師每天能寫 100-150 行代碼。”
我嘲笑了他并稱他的估計(jì)值肯定低了很多。
為了證明他的估計(jì)值錯(cuò)誤,我以在 Google 工作中最有效率的一個(gè)月為例,并使用了 Google 一款內(nèi)部工具,即可以查看每天的代碼增量(包括添加、刪除、更改的代碼行數(shù))。我匯總了我一個(gè)月的代碼數(shù)據(jù),進(jìn)行求和,并除以 20(因?yàn)橹苣┎簧习啵┑贸銎骄鶖?shù)。猜猜得出的數(shù)字是多少?
等于 150?。?!
現(xiàn)在有個(gè)更有趣的問(wèn)題:
Google大神們每天寫多少行代碼?
Oak Lomonosovas 曾在 Quora 上對(duì) Google 有多少名軟件工程師進(jìn)行了回答,它估計(jì)Google 有 4 萬(wàn)工程師。
其中有部分工程師的代碼產(chǎn)出量比較少,像技術(shù)主管等可能會(huì)因?yàn)闀?huì)議或假期而減少代碼產(chǎn)量,因此,每位工程師每天 100 行代碼的估計(jì)會(huì)比較準(zhǔn)確。
所以,Google 代碼量可粗略估計(jì)為每天 400 萬(wàn)行代碼。
有人說(shuō),一天寫 100 ~ 150 行代碼,怎么能算高效?
1、一天工作 8 小時(shí)里,有多長(zhǎng)時(shí)間在寫代碼?
2、工作中平均每天寫的代碼里,
有幾行能通得過(guò) code review 的有測(cè)試的 production quality 的代碼?
網(wǎng)友評(píng)論
@曉唦
額,想寫的時(shí)候,一天幾百行,不想寫,一天0行……(つД`)
@Jn xyp
編程五分鐘,扯淡兩小時(shí)
@評(píng)論專用
靠代碼量衡量工作量是相當(dāng)傻逼的行為,把程序員當(dāng)流水線擰螺絲的
@醬油攻城獅
代碼行數(shù)寫多容易,寫少難~
@山雨欲來(lái)
在中國(guó),一天就100行代碼?明天不用來(lái)上班了?。〔罹?/div>
@南望山阿飛
通過(guò)代碼行數(shù)來(lái)判斷一個(gè)程序員的工作,真的是愚蠢至極;就好像評(píng)價(jià)一個(gè)作家,是看他寫了多少文字一樣。大神固然寫的多,但是寫得多不一定是大神
@落風(fēng)月
假設(shè)Google工程師日新1000.那么一行代碼就值6-10塊錢。想起曾經(jīng)某人跟我說(shuō)一行代碼只值5毛錢我就想笑。
@屠誹
“大神,你一天寫多少代碼???“ “2個(gè)G左右吧~~”
@cjmmx
碼碼5分鐘,修bug兩小時(shí)
@Eric
100行代碼可以裝下整個(gè)宇宙,夸張了。但是100行代碼可以做很多事了,像谷歌這種大公司,100行代碼一天真的不爛,如果沒有bug??创a行數(shù)來(lái)評(píng)價(jià)一個(gè)人的技術(shù)就像看一個(gè)人的外表來(lái)評(píng)論內(nèi)在,一個(gè)菜鳥寫100杭代碼可能一行就解決了,所以你能說(shuō)菜鳥更牛?
@少年子弟江湖老
高效
就是代碼行數(shù)寫得多?
曾經(jīng)把接受的一堆三千行代碼
推掉重寫
八百行實(shí)現(xiàn)全部功能
怎么看?
冗余
倒是高效咯?
我一直都是堅(jiān)持用最少的代碼實(shí)現(xiàn)相同的事情
越少越好,越簡(jiǎn)潔凝練越好
@Kit_lee
靠代碼量衡量工作效率的說(shuō)法較容易引起開發(fā)人員反感,所以我看到評(píng)論中還是有不少負(fù)面內(nèi)容。但其實(shí)代碼量對(duì)于項(xiàng)目管理來(lái)說(shuō),確是做成本估算的一項(xiàng)重要參考指標(biāo)。相近的一個(gè)功能,總代碼行數(shù)大概是可參考其他同類型項(xiàng)目估算出來(lái)的,那么這個(gè)開發(fā)人員平均一天的代碼行數(shù),作為一個(gè)參考指標(biāo)就可以用來(lái)做開發(fā)工時(shí)預(yù)估,從而計(jì)算出多少工期內(nèi)我要投入多少開發(fā)人員。不然大家以為都是拍腦袋估的?