你可曾有過這樣的經驗?不帶傘時,偏偏下雨;帶了傘時,偏不下雨!在門外,電話鈴猛響;進了門,就不響了!這樣的事兒總是無可奈何,但在我們日常生活中卻是常有!
這就是墨菲定律:
墨菲定律(英文名: Murphy's Law ),亦稱莫非定律、莫非定理、或摩菲定理,是西方世界常用的俚語。墨菲定律主要內容是:事情如果有變壞的可能,不管這種可能性有多小,它總會發生。
這個定律在我們的質量裏,扮演了什麼角色呢?
我們先看兩個例子:
“ 其實自己隱隱也感覺這段代碼會出問題, codereview 時和AA一起看了很久,但是潛在的問題兩個人都沒有看出來。 沒有叫上架構師 ,也沒有叫上原作者BB一起分析這段代碼。 ”
-- 摘錄於一個真實案例
“開發時已發現 IBatisMemberSpecConfigDAO 在 兩個 Jar 包中有同名類、且都引用了 memberSpecConfigCache 、但沒能引起警惕、考慮 反序列化的時候會不會因爲 Class 路徑不同導致異常”
-- 摘自一個真實案例
從上面兩個案例,我們可以總結出什麼呢?
就是我們在開發過程中,如果有任何的疑問,但沒有追究,那上線後 100% 的就是一個故障,
我也把它叫做“莫非定律”
預防“莫非定律”,需要我們每一位程序員,不要放過任何可疑之處,深究它!故障就不會從我們手上溜到線上。