提起程序員(yuán),大(dà)家的第一(yī)印象是?
而程序員(yuán)的日常?
而以代碼爲主要工(gōng)作的程序員(yuán),一(yī)天寫多少代碼才算達标?
來自 CSDN 論壇的程序員(yuán)們說:
- 真正優秀的程序員(yuán)都拿着高工(gōng)資(zī),其本上不用怎麽寫代碼,如果你還拼命在寫代碼,說明離(lí)“優秀”還有一(yī)段距離(lí)。
- 很多時候都在分(fēn)析問題,查看代碼,寫代碼越來越少了。
- 如果寫的話(huà),基本上每天 100 到 200 行,但是更多的時候在開(kāi)會、開(kāi)會、開(kāi)會。
自知(zhī)乎的程序員(yuán)們說:
- 無須看重代碼行數,程序員(yuán)的價值在于思考,而不在于打字數量。
- 真正寫出來可用的代碼,一(yī)天平均幾十行就很好不錯了。
- 我(wǒ)(wǒ)通常是一(yī)天不到 100 行。
- 負的。我(wǒ)(wǒ)們不生(shēng)産代碼,我(wǒ)(wǒ)們隻是 GitHub 的搬運工(gōng)。
- 最多的時候,一(yī)個禮拜寫了上萬行代碼,那時候每天睡覺都很香,因爲累!
- 比爾蓋茨曾說過:“用代碼行數來衡量程序的開(kāi)發進度,就好比用重量來衡量飛機的制造進度。”
的确,在編寫代碼之前,需要有需求獲取分(fēn)析、需求建模、系統的架構、系統模塊的設計、以及之後的測試等工(gōng)作需要做。最終所編碼的時間也所剩無幾了。在國内某些公司,對于一(yī)些熟練的程序員(yuán),每天 100 行代碼是正常的生(shēng)産率(包括需求分(fēn)析、設計、編碼、單元測試和系統測試)。但是對于缺乏編碼經驗的畢業生(shēng)或轉型的從業者來說,代碼産出量也須另當别論了。在國外(wài),作爲科技巨頭的之一(yī)的 Google,他們的工(gōng)程師每天能寫多少的代碼呢?Google 的 AdMob 全棧工(gōng)程師 Raymond Farias 曾發表評論表示:“我(wǒ)(wǒ)的同事告訴我(wǒ)(wǒ),根據以往的調查證明,一(yī)名高效的工(gōng)程師每天能寫 100-150 行代碼。”我(wǒ)(wǒ)嘲笑了他并稱他的估計值肯定低了很多。爲了證明他的估計值錯誤,我(wǒ)(wǒ)以在 Google 工(gōng)作中(zhōng)最有效率的一(yī)個月爲例,并使用了 Google 一(yī)款内部工(gōng)具,即可以查看每天的代碼增量(包括添加、删除、更改的代碼行數)。我(wǒ)(wǒ)彙總了我(wǒ)(wǒ)一(yī)個月的代碼數據,進行求和,并除以 20(因爲周末不上班)得出平均數。猜猜得出的數字是多少?在我(wǒ)(wǒ)最忙碌高效的一(yī)個月上得出的結論,事實證明,我(wǒ)(wǒ)之前的觀點錯了。此外(wài),我(wǒ)(wǒ)也檢測了我(wǒ)(wǒ)的同事,幾乎每個人的數據都一(yī)樣。那這樣的數據怎麽足夠呢?由此,在 Quora 上,Oak Lomonosovas 對 Google 有多少名軟件工(gōng)程師進行了回答, 估計 Google 大(dà)約有 4 萬名工(gōng)程師。而在這些工(gōng)程師中(zhōng)有些人代碼産出量比較少,因爲技術經理或者主管因爲很多的會議或者假期并不會寫太多的代碼,因此,一(yī)位工(gōng)程師 100 行應該是更爲準确的猜測了。基于以上,Google 每天的代碼量粗略估計爲 400 萬行代碼。有很多人認爲一(yī)天寫 100 ~ 150 行代碼,怎麽能算高效?那麽我(wǒ)(wǒ)們來計算一(yī)下(xià):1.一(yī)天工(gōng)作 8 小(xiǎo)時裏,你有多長時間是在真的在寫代碼?2.你算一(yī)算自己工(gōng)作中(zhōng)平均每天寫幾行能通得過 code review 的有測試的 production quality 的代碼?這些,你猜對了嗎(ma)?
你呢,1天寫多少行代碼呢?