3 回答

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊
多線程修改更新,重復(fù)點(diǎn)擊等操作都可能對(duì)已經(jīng)關(guān)閉的訂單再次操作,這是個(gè)時(shí)序問(wèn)題,其實(shí)這樣做的目的主要還是出于安全性和減少數(shù)據(jù)庫(kù)操作測(cè)次數(shù)。

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
有這么幾個(gè)原因你會(huì)干“第一行代碼先判斷狀態(tài)”
1,有的人直接跳過(guò)前面的過(guò)程(比如之前過(guò)程的URL鏈接),到中間的某一步,甚至使用機(jī)器模擬而非人類操作。
2,有多個(gè)人同時(shí)操作某條記錄,他們可能是同時(shí)登錄在同一個(gè)頁(yè)面操作,也可能是不同的功能模塊、終端設(shè)備改變同一個(gè)訂單的狀態(tài)
3,這個(gè)方法需要復(fù)用,或不確定有沒(méi)有其他人以后會(huì)調(diào)用(哪怕那個(gè)人是你自己)
嚴(yán)謹(jǐn)?shù)?、健壯的代碼,都是會(huì)先判斷各種狀態(tài)的,10行代碼8行檢查是很正常的,程序員慢慢都會(huì)養(yǎng)成“得到什么,先檢驗(yàn)什么,如果條件不滿足,考慮如何返回”的編程思考方式。檢查對(duì)象本身、檢查狀態(tài)、檢查業(yè)務(wù)邏輯是否正確。這樣寫出的代碼bug會(huì)少很多。
- 3 回答
- 0 關(guān)注
- 407 瀏覽
添加回答
舉報(bào)