一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 如何在Java中有效地清除掩蓋問題?

如何在Java中有效地清除掩蓋問題?

2021-12-13 23:25粵嵌教育 Java教程

因為軟件缺陷會讓我們在開發人員中顯得很糟糕,并導致其他人對我們的看法降低,所以最好避免編寫缺陷,快速識別和修復缺陷,或者掩蓋我們的缺陷。

因為軟件缺陷會讓我們在開發人員中顯得很糟糕,并導致其他人對我們的看法降低,所以最好避免編寫缺陷,快速識別和修復缺陷,或者掩蓋我們的缺陷。有許多博客文章和文章討論如何避免bug以及如何識別和修復bug,因此,在這篇文章中,介紹一些最有效的策略,以徹底解決Java代碼庫中的問題。

如何在Java中有效地清除掩蓋問題?

1. 吞咽檢查異常

當我們不小心在代碼中引入了bug時,異常就是其中之一。在方法上聲明throws子句或捕獲已檢查的異常也是一件麻煩事。這兩個問題的解決方案都是在異常可能被拋出時捕獲異常(即使它是正在運行時一場),而不執行任何操作。這使API保持簡潔,對于檢查的異常,人們幾乎無能為力。通過不記錄它或對它做任何事情,甚至沒有人需要知道它曾經發生過。

2. 注釋掉或刪除不滿意的單元測試

失敗的單元測試可能會讓人分心,并且很難確定新功能何時破壞了測試。它們還可以揭示我們在代碼更改時破壞了某些東西。注釋掉這些失敗的單元測試將使單元測試報告更清晰,并且更容易查看是否有其他人的新功能破壞了單元測試。

3. 在基于JUnit的單元測試中使用@Ignore

注釋掉失敗的單元測試似乎令人不快,所以另一個可能更令人愉快的選擇是用@Ignore注釋失敗的基于JUnit的單元測試方法。

4. 完全刪除單個測試

如果用@Ignore注釋一個中斷的測試或用@Ignore注釋一個中斷的測試是不令人滿意的,因為有人可能仍然檢測到我們破壞了一個單元測試,那么我們可以簡單地將有問題的單元測試全部刪除。

5. 注釋掉令人不快的斷言

我們不一定需要注釋掉或刪除整個測試。它可以簡單到注釋掉或刪除單元測試方法中的斷言語句。該方法每次都可以成功執行和運行,因為沒有斷言意味著沒有失敗的方法。當單元測試方法非常長且復雜,因此不容易發現缺少斷言時,這種方法尤其有效。

6. 用無用和冗余測試的噪音分散注意力

注釋掉單元測試,用@Ignore注釋基于JUnit的單元測試,甚至刪除單元測試,對于在Java中徹底解決問題來說,這些策略可能太明顯了。為了使這些不那么明顯,另一個有效的策略是在同一個單元測試類中編寫大量不必要的和冗余的測試方法,這樣看起來似乎正在進行全面的測試,但實際上,只有一小部分功能(我們知道的子集正在工作)正在進行測試。

7. 編寫單元測試,以“證明”您的代碼是正確的,即使它不是

我們可以利用這樣一個事實,即單元測試只能測試單元測試的作者認為被測試軟件的預期行為,從而編寫單元測試來證明我們的代碼是正確的。如果我們將兩個整數相加的代碼在提供2和2時意外返回5的總和,那么我們可以簡單地將單元測試中的預期結果也設置為5。給出了一份漂亮的單元測試報告,沒有人會更明智。

8. 避免記錄詳細信息

日志可能會暴露軟件問題,處理此風險的有效方法是根本不記錄日志,只記錄例行操作和結果,并在記錄的消息中留下詳細信息(尤其是上下文)。對平凡細節的過度記錄也會掩蓋任何可能暴露代碼弱點的更有意義的消息。

9. 避免使用描述性的toString()實現

一個描述性的toString()方法可以揭示太多關于任何給定實例的狀態,并揭示我們的錯誤。不覆蓋對象。toString()會使識別問題和將問題與任何給定代碼或開發人員關聯變得更加困難。跟蹤問題所需的額外時間為您提供了更多的時間,以便在發現是您的代碼出了問題之前進入下一個項目。如果您編寫的Java類使用描述性toString()擴展了一個類,那么您可以在擴展類中重寫該方法而不做任何事情(有效地刪除可能導致toString()錯誤的輸出)。如果您想讓它看起來好像從未在繼承層次結構中實現過一樣,請確保擴展類的toString()方法返回系統。標識hash代碼(此)。

10. 不要讓NullPointerExceptions背叛你

NullPointerExceptions可能是Java開發人員處理的最常見的異常。這些特別危險,因為它們經常暴露代碼的弱點。一種策略是簡單地用try-catch包裝每一行代碼,并簡單地吞下異常(包括NPE)。

另一個不太明顯的策略是通過從不返回或傳遞空值來避免NPE。有時,使用默認值代替null(例如空字符串或集合)是有意義的,但有時我們必須更具創造性地避免null。在這一點上,使用“默認”非空值代替空值是很有用的。

關于如何處理這種任意的非空缺省值,有兩種觀點。一種方法是使用數據集中最常見的值作為默認值,因為如果它是通用的,那么當更多的值出現時,可能不會注意到它,并且您更有可能擁有處理該通用值的代碼,而不會發生意外。另一方面,如果您有一個幾乎從未使用過的值,這可以成為一個良好的默認值,因為受它影響的代碼(尤其是經過良好測試的代碼)可能比通常預期的值少。

原文鏈接:https://www.toutiao.com/a7040627464367817219/

延伸 · 閱讀

精彩推薦
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
主站蜘蛛池模板: 国产成人免费在线观看 | 国产高清视频网站 | 成人影院在线观看免费 | 小鸟酱视频在线观看 | 午夜国产精品视频 | 天堂69亚洲精品中文字幕 | 国产亚洲视频网站 | 大学第一次基本都没了 | 日本色频 | 青草视频网 | 骚b小说| 色哺乳妇hd| 婷婷综合七月激情啪啪 | 白丝尤物的下面被疯狂蹂躏 | 水蜜臀| 亚洲欧美精品一区天堂久久 | 精品无人区乱码1区2区3区免费 | nxgx在线观看国产中文 | 日韩一区二区三区四区区区 | 深夜在线影院 | 欧美在线视频一区二区 | 亚洲精品一线二线三线 | 国内精品久久久久久中文字幕 | 欧美日韩精品一区二区三区视频 | 久久AV国产麻豆HD真实 | 天天排行网 | 日韩欧美一区二区三区视频 | 日韩精品1 | 国产亚洲精品一区二区在线观看 | 亚洲成色www久久网站 | www.国产自拍 | 日本红怡院亚洲红怡院最新 | 天天曰天天干 | 91最新国产 | 日韩在线观看免费 | 拍拍叫痛的无挡视频免费 | 男人天堂网页 | 国产欧美精品一区二区三区四区 | 亚洲品质自拍视频网站 | 大肚孕妇的高h辣文 | 青久久 |