當(dāng)今時(shí)代很多吃瓜群眾對(duì)程序員的印象都是
而程序員的真實(shí)情況卻是這樣:每天大部分時(shí)間都在改代碼,寫代碼机杜,看代碼才是我們真實(shí)的工作日常帜讲,到底每天要寫多少行才是好程序員呢衅谷?
為了探討這個(gè)問題首先要了解程序員的種類椒拗。一般來講,開發(fā)者(指的是純的寫代碼获黔,不包括不寫代碼的項(xiàng)目經(jīng)理 蚀苛、技術(shù)總監(jiān)等)主要分為:
1. web工程師:
一般是寫基于web的程序,所用語言基本上為Java, PHP或者ASP玷氏,如果做winform堵未,C#則是主流。另外設(shè)計(jì)到數(shù)據(jù)庫 部分盏触,還要寫部分的數(shù)據(jù)庫sql語句(基于框架的開發(fā)被框架封裝好的存儲(chǔ)過程除外)渗蟹。此外,還有前端的編寫赞辩,涉 及到的語言包括HTML雌芽、CSS、以及Javascript等辨嗽。這類編程工作的主要特點(diǎn)是量大世落,技術(shù)含量相對(duì)來說不是很高,入 門檻相對(duì)較低糟需。大部分從業(yè)者學(xué)歷相對(duì)來說不算頂尖屉佳,鮮有名牌大學(xué)畢業(yè)的從事web編碼工作谷朝。這類工作對(duì)算法和數(shù)據(jù)結(jié)構(gòu)要求不是太高,代碼許多都是大量復(fù)制而成武花,所以一天產(chǎn)生100行以上的代碼是比較普遍的圆凰。
2.嵌入式工程師
一般都是基于芯片編程,控制硬件髓堪,代碼濃縮度很高送朱,有時(shí)候,整個(gè)控制程序也就是幾百行代碼干旁。而在設(shè)計(jì)時(shí)候需要考慮很多驶沼,代碼速度一般來說一天能產(chǎn)生20行是不錯(cuò)的了魄梯。
3.算法工程師
算法工程師一般都是研究某種算法蹂午,然后將它實(shí)現(xiàn)嘱函。算法設(shè)計(jì)上每一步都需要仔細(xì)推敲時(shí)間和空間上的復(fù)雜度以及完成效率普气。編寫代碼也是如此员咽。這些程序雖然可能 很大换可,比如一個(gè)視頻每幀文字的識(shí)別程序跨算,但是代碼的產(chǎn)出速度可能會(huì)更慢右钾。因?yàn)樵趯?shí)現(xiàn)前必須有大量的算法分析和設(shè)計(jì)的活轻要,和代碼時(shí)間比大概是6:1复旬。所以一 天一般也就產(chǎn)出20行左右。
還有一些其他種類冲泥,比如通信工程師驹碍、數(shù)據(jù)庫工程師、安全工程師凡恍,也都大同小異志秃,在這里不細(xì)說了。但是我們可以看到嚼酝,熟練工種一般都是在一天100行以內(nèi)這樣一個(gè)數(shù)量級(jí)上的浮还。
了解完這些我們來看看國內(nèi)程序員是怎么說的
了解了國內(nèi)在來看看國外,作為科技巨頭的之一的 Google闽巩,他們的工程師每天能寫多少的代碼呢钧舌?
近日,Google 的 AdMob 全棧工程師 Raymond Farias 發(fā)表評(píng)論表示:“根據(jù)以往的調(diào)查證明涎跨,一名高效的工程師每天能寫 100-150 行代碼洼冻。”那這樣的數(shù)據(jù)怎么足夠呢六敬?由此碘赖,在 Quora 上,Oak Lomonosovas 對(duì) Google 有多少名軟件工程師進(jìn)行了回答, 估計(jì) Google 大約有 4 萬名工程師普泡。而在這些工程師中有些人代碼產(chǎn)出量比較少播掷,因?yàn)榧夹g(shù)經(jīng)理或者主管因?yàn)楹芏嗟臅?huì)議或者假期并不會(huì)寫太多的代碼,因此撼班,一位工程師 100 行應(yīng)該是更為準(zhǔn)確的猜測(cè)歧匈。
說了這么些那么到底一個(gè)程序員一天要寫多少行代碼呢?
有人回答說:“平均有20行有效代碼每天,就是世界級(jí)水平了砰嘁。絕大部分時(shí)間你都在反復(fù)改寫件炉、修訂已有代碼“妫”的確斟冕,程序員的編寫代碼的速度可能也就如此。而在國內(nèi)某些公司缅阳,對(duì)于一些熟練的程序員磕蛇,每天100行代碼是才正常的生產(chǎn)率(包括需求分析,設(shè)計(jì)十办,編碼秀撇,單元測(cè)試和系統(tǒng)測(cè)試)。
我們來聊聊~
每天 向族,你有多長時(shí)間是在真的寫代碼呵燕?
你是在搜索或者復(fù)制粘貼,還是自己動(dòng)手豐衣足食件相?
代碼的數(shù)量能衡量一個(gè)程序員的水平嗎再扭?
你有沒有寫過一行抵別人20行的高效代碼?來講講适肠?