當前位置: 華文星空 > 知識

你目前寫出的最大的 Bug 是怎樣的?

2015-03-24知識

不是我寫的,但很有意思。Azure底層fabric有過這麽一段code,目的是檢查一張證書的有效期是否在一年以內。

那麽要先獲得一年後的日期,本來用DateTime.Today().Add(new TimeSpan(365,0,0,0))就可以了(編輯:經提醒,AddYear(1)是最簡單而且更精確的)。寫程式碼的哥們腦洞了下寫成new DateTime(today.Year+1,today.Month,today.Day)。

經過各種測試執行一直都沒問題。直到2012年2月29日,ArgumentOutOfRangeException。

後果是整個Azure掛了十多個小時吧。

----------------------------------------------------------

編輯:關於這次outage,Azure官方的說明在這裏:

Summary of Windows Azure Service Disruption on Feb 29th, 2012

。有興趣的可以看下,