關於京東搶票的一個BUG

首先我不是京東員工,只是一個搶票回家的程序員

在搶票過程中遇見一個BUG,由於程序員的慣性思維 我就考慮了下是怎麼出現這個BUG的。

實際情況不知道 畢竟不是我開發的 源代碼我也沒有

先說一下問題出現的情況:

我預約搶票了兩張訂單(來回),一張售票時間爲2019年12月23  一張售票時間爲2020年1月1號。。。具體時間就不說明了

第一張回家的訂單:顯示等待出票,沒有問題。畢竟還沒有到鐵路規定的網上售票時間。

第二張回來的訂單:顯示搶票中。不用說大家也知道這個售票日期肯定是比較晚的那張2020年1月1號的

那麼問題出現了,同樣沒有到售票的時間,咋還搶票中呢?

首先沒有到售票時間 肯定最終搶不到票的,哪怕頁面一直告訴我在搶票中。。。除非已經到售票時間纔有可能搶到回來的票。這一點我很確信!!!

一下兩張圖片是京東顯示給我的狀態,也是我上述描述的問題。

 

一看到這種情況,我首先想到的是不是我買錯日期了下錯單了。事實證明 我沒買錯。售票時間提前30天也沒有變。

我上述說的時間是搶票時間即售票時間。。。

我一想要是我寫的代碼,這個問題是怎麼出現的呢

正常邏輯應該爲:if(當前時間yyyyMMdd HH:mm:ss>=售票時間 yyyyMMdd HH:mm:ss) {搶票中}   else {等待出票}

如果要出現這個問題  那就可能是 《時間忘記考慮了年份》

if(當前時間MMdd HH:mm:ss>=售票時間 MMdd HH:mm:ss) {搶票中}   else {等待出票}

這裏面肯定時候涉及到其他的邏輯 但是本質應該遵循鐵路局發表的提前30天搶票的規章制度


哈哈 實際代碼也許有很多邏輯抽象等等,不一定是我說的這種最簡單的BUG,以上只是我推測的,要不然就是邏輯混亂了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章