定位bug的8種方法 當(dāng)程序員面對(duì)Bug的時(shí)候,該怎樣機(jī)智“甩鍋”呢?
當(dāng)程序員面對(duì)Bug的時(shí)候,該怎樣機(jī)智“甩鍋”呢?一個(gè)bug扔鍋是合理的,主要包括以下幾個(gè)步驟:1)定義一個(gè)問題,首先要快速判斷是不是你自己的問題;2)如果不是你自己的問題,寫一兩個(gè),然后找相關(guān)人員定位
當(dāng)程序員面對(duì)Bug的時(shí)候,該怎樣機(jī)智“甩鍋”呢?
一個(gè)bug扔鍋是合理的,主要包括以下幾個(gè)步驟:
1)定義一個(gè)問題,首先要快速判斷是不是你自己的問題;2)如果不是你自己的問題,寫一兩個(gè),然后找相關(guān)人員定位;
做程序時(shí),如果某個(gè)查詢方法應(yīng)當(dāng)返回一條記錄,但是查出來多條,是拋異常好還是從多條中取第一條好?
我有10年的發(fā)展和經(jīng)驗(yàn)培訓(xùn)經(jīng)歷,其間我經(jīng)歷了javaweb、Android、H5、大數(shù)據(jù)、PHP等許多不同的發(fā)展方向,還做過軟件培訓(xùn)公司的黃金講師,非常有興趣回答您的問題。
您已經(jīng)清楚地解釋了這個(gè)問題中的要求,“一個(gè)查詢方法應(yīng)該返回一條記錄,但是可以找到多條記錄”!也就是說,您的查詢應(yīng)該只有一個(gè)結(jié)果,但此時(shí)或某個(gè)時(shí)候,會(huì)有多個(gè)結(jié)果,這意味著您的業(yè)務(wù)接口可能不滿足冪等性的要求。根據(jù)冪等設(shè)計(jì)原理,無論怎樣查找,只要參數(shù)相同,返回的結(jié)果應(yīng)該是相同的。
那么如何解決這個(gè)問題并拋出異常呢?返回到幾個(gè)中的第一個(gè)?
我認(rèn)為這不是一個(gè)完美的解決方案。
這對(duì)某些人來說是一個(gè)解決方案,但是問題解決了嗎?一點(diǎn)也不!問題仍然存在。下次觸發(fā)此條件時(shí),仍將引發(fā)異常。就像說森林里有一只老虎。有一天,它吃人,然后你不解決老虎的問題。你只是在森林里掛了一塊牌子,上面寫著:小心,里面有老虎!這…
事實(shí)上,這不是一個(gè)好辦法。也許只有一件東西應(yīng)該被退回。為什么要查詢多個(gè)項(xiàng)目?您是否檢查了數(shù)據(jù)庫(kù)中數(shù)據(jù)的唯一性?你不覺得每次查詢多個(gè)結(jié)果然后得到第一個(gè)數(shù)據(jù)效率很低嗎?
所以我們應(yīng)該從根本上解決問題!為什么會(huì)產(chǎn)生多個(gè)數(shù)據(jù)?如果要手動(dòng)檢查數(shù)據(jù),則需要手動(dòng)檢查。如果要鎖定它,應(yīng)該盡最大努力確保輸入?yún)?shù)相同,結(jié)果相同
如何定位已關(guān)機(jī)的手機(jī)?
要找到一部已經(jīng)關(guān)機(jī)的手機(jī)是非常困難的,除非機(jī)器在關(guān)機(jī)前被篡改過,而且SIM卡還沒有取下(不是借助SIM卡來定位位置,而是通過與外界的聯(lián)系來報(bào)告經(jīng)緯度)。普通人很難做到這一點(diǎn),因?yàn)槭謾C(jī)制造商必須獲得授權(quán)才能掌握潛在的信號(hào)。所以已經(jīng)關(guān)機(jī)的手機(jī)無法定位。別上當(dāng)。因?yàn)榧词雇姾笸ㄐ耪#埠茈y通過運(yùn)營(yíng)商找到位置信息(位置信息是完全可用的,看評(píng)論的用戶都說定位方法是傳統(tǒng)的,其實(shí)比這個(gè)更準(zhǔn)確)。由于運(yùn)營(yíng)商的信息安全管理非常嚴(yán)格,檢查這些用戶的隱私數(shù)據(jù)需要信令平臺(tái)金庫(kù)密鑰層層授權(quán)。相反,手機(jī)的WiFi熱點(diǎn)、網(wǎng)址、導(dǎo)航等應(yīng)用程序都是暗中獲取你位置的風(fēng)險(xiǎn)漏洞。