假如整個Windows都是一個人寫的,那他需要多久能寫完?

程序員之家2018-06-25 07:33:09


這個問題是我們在Quora上閒逛時偶然遇到的,覺得非常有意思,分享給大家。儘管Windows有很多不完美的地方,但是它依舊是世界上使用人數最多(超過80%),最穩定的操作系統。本文的參考鏈接你可以在文章底部看到。


假如,有一位代碼天才,他有一個夢想,就是靠自己的雙手寫出一個Windows 10系統。求:他需要花多久才能寫完?

 

其他的先不管,我們首先來看看Win10的代碼量有多少。據估計,Win10裏至少有2700萬-5000萬行代碼。

 

那寫一行代碼需要多長時間呢?我們要先假設這位“編程天才”掌握了所有必需的語言,技術,庫,協議,標準,向後兼容性需求等等。如果設碼代碼速度為每小時30行,那麼寫出2700萬-5000萬行代碼就需要90萬-160萬小時。當然,這也是在產出的代碼裏沒有bug的前提下計算出的數字。

 

但是沒有bug是不可能的,如果把處理bug的時間算進去的話(據估計,每1000行代碼裏會出現15-20個Bug,也就是説在你寫的Win10代碼裏,會出現 40萬-100萬個Bug),就算是天才,你也需要13,500-33,333小時的Debug時間。正常情況下,我們會反覆修正直到bug數減少到0。但這裏我們只迭代一次就行了。所以,寫完Windows的總時間在913,500-1,699,999小時之間,換成年的話,就是104.2年-193.93年。

 

對了,上面的時間都沒有算進休息/睡覺/吃飯消耗的時間。如果我們嚴格按照每日八小時工作制來算,那麼這個數字就會上升到312.6年-581.8年。其實,我們還忽略了編譯時間和機器故障。

 

如果這位天才從出生的時候就被上帝賜予了知識、溝通技能和控制身體的能力,可以立刻開始碼代碼,他只需要活到600歲就可以寫出Windows了。

 

但是開發Windows不僅僅需要寫代碼。


在微軟工作的Noam Ben-Ami表示,Windows 10擁有大約40-45個Feature團隊,每個團隊裏有大約32個工程師(這還不包括測試者,產品經理等等)。它從大約2013年開始開發,到2015年7月末正式上線,開發時間在兩年半左右。假設先前的代碼庫重寫了50%,這就意味着我們還需要另外兩年半來寫之前的代碼。那麼我們就可以進行計算:5年*32名工程師*40個團隊,相當於6400年的開發時間。這還不包括系統測試,構建實驗室,用户界面開發,全球化/本土化工作等等。

 

所以,這個問題就像在問:我是一個熟練的工程師,我要花多久才能建好長城?

 

本文轉載自【BitTiger

參考鏈接:

https://www.quora.com/If-I-were-a-super-skilled-coder-how-long-would-it-take-me-to-write-the-Windows-10-operating-system

https://www.quora.com/How-many-lines-of-code-does-Windows-10-contain

https://www.quora.com/How-many-lines-of-code-do-professional-programmers-write-per-hour

https://www.mayerdan.com/ruby/2012/11/11/bugs-per-line-of-code-ratio


公眾號內回覆“1”帶你進粉絲羣

閲讀原文

TAGS:需要代碼時間沒有bug