改bug

1.重現bug

1)有具體步驟,數據時

a.導入數據,準備前期數據

b.按照步驟操作,重現

 

2)沒有具體步驟,數據時

a.通過描述,嘗試分析出錯邏輯

b.嘗試所有調用該出錯邏輯的可能,至重現即可

 

3)不能重現時

a.是否所有相關邏輯都已經走到?

b.已定位到具體業務邏輯?

4)無影響分析

 

2.分析代碼

1)查看出錯邏輯,是否有不正確

 

2)畫面顯示問題?

a.綁定的數據是否正確?

b.數據從何而來?來源是否正確?

c.數據處理是否正確?

 

3)facade返回值的問題

a.數據庫的返回值是否正確?

b.facade處理是否正確?

 

4)錯誤內容分析(方法)

a.改的是原有的邏輯?

b.方法訪問控制符不是private?(影響範圍分析)

c.方法被多處調用?(影響範圍分析)

d.方法參數或返回值錯誤?(參數中有無引用型?ref?out?)

e.方法是重載?(其他方法是否需要同時修改?)

f.方法是重寫?(其他子類的方法是否需要同時修改?)

g.方法是虛方法?(可能子類也要修改)

h.此類是否被繼承?或繼承於其他類?

 

5)錯誤內容分析(變量)

a.變量訪問控制符不是private?什麼情況下會修改變量?什麼情況下會使用變量?(影響範圍分析)

b.變量是否爲static?是否會出現多個實例同時運行,同時修改變量的情況?

c.變量爲值類型?引用類型?有無作爲參數傳遞到其他方法?方法中有無修改?

d.變量爲空的情況是否考慮過?

e.變量賦值是否會超出範圍?

f.變量是否有類型轉換?轉換中會不會出現精度缺失或轉換後的值不同?

g.變量是否爲一次處理中使用?是否及時清空?

h.變量是否需要對外公佈爲屬性?

 

3.修正代碼

a.just do it

b.有沒有更好的實現方法?

c.有沒有影響到程序架構?設計?

d.重構

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