日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

我用這十招,減少了80%的BUG

來源: 責編: 時間:2024-04-19 09:28:58 225觀看
導讀前言對于大部分程序員來說,主要的工作時間是在開發和修復BUG。有可能修改了一個BUG,會導致幾個新BUG的產生,不斷循環。那么,有沒有辦法能夠減少BUG,保證代碼質量,提升工作效率?答案是肯定的。如果能做到,我們多出來的時間,多摸

w6T28資訊網——每日最新資訊28at.com

前言

對于大部分程序員來說,主要的工作時間是在開發和修復BUG。w6T28資訊網——每日最新資訊28at.com

有可能修改了一個BUG,會導致幾個新BUG的產生,不斷循環。w6T28資訊網——每日最新資訊28at.com

那么,有沒有辦法能夠減少BUG,保證代碼質量,提升工作效率?w6T28資訊網——每日最新資訊28at.com

答案是肯定的。w6T28資訊網——每日最新資訊28at.com

如果能做到,我們多出來的時間,多摸點魚,做點自己喜歡的事情,不香嗎?w6T28資訊網——每日最新資訊28at.com

這篇文章跟大家一起聊聊減少代碼BUG的10個小技巧,希望對你會有所幫助。w6T28資訊網——每日最新資訊28at.com

w6T28資訊網——每日最新資訊28at.com

1.找個好用的開發工具

在日常工作中,找一款好用的開發工具,對于開發人員來說非常重要。w6T28資訊網——每日最新資訊28at.com

不光可以提升開發效率,更重要的是它可以幫助我們減少BUG。w6T28資訊網——每日最新資訊28at.com

有些好的開發工具,比如:idea中,對于包沒有引入,會在相關的類上面標紅。w6T28資訊網——每日最新資訊28at.com

w6T28資訊網——每日最新資訊28at.com

并且idea還有自動補全的功能,可以有效減少我們在日常開發的過程中,有些單詞手動輸入的時候敲錯的情況發生。w6T28資訊網——每日最新資訊28at.com

2.引入Findbugs插件

Findbugs是一款Java靜態代碼分析工具,它專注于尋找真正的缺陷或者潛在的性能問題,它可以幫助java工程師提高代碼質量以及排除隱含的缺陷。w6T28資訊網——每日最新資訊28at.com

Findbugs運用Apache BCEL 庫分析類文件,而不是源代碼,將字節碼與一組缺陷模式進行對比以發現可能的問題。w6T28資訊網——每日最新資訊28at.com

可以直接在idea中安裝FindBugs插件:w6T28資訊網——每日最新資訊28at.com

w6T28資訊網——每日最新資訊28at.com

之后可以選擇分析哪些代碼:w6T28資訊網——每日最新資訊28at.com

w6T28資訊網——每日最新資訊28at.com

分析結果:w6T28資訊網——每日最新資訊28at.com

w6T28資訊網——每日最新資訊28at.com

點擊對應的問題項,可以找到具體的代碼行,進行修復。w6T28資訊網——每日最新資訊28at.com

w6T28資訊網——每日最新資訊28at.com

Findbugs的檢測器已增至300多條,被分為不同的類型,常見的類型如下:w6T28資訊網——每日最新資訊28at.com

  • Correctness:這種歸類下的問題在某種情況下會導致bug,比如錯誤的強制類型轉換等。
  • Bad practice:這種類別下的代碼違反了公認的最佳實踐標準,比如某個類實現了equals方法但未實現hashCode方法等。
  • Multithreaded correctness:關注于同步和多線程問題。
  • Performance:潛在的性能問題。
  • Security:安全相關。
  • Dodgy:Findbugs團隊認為該類型下的問題代碼導致bug的可能性很高。

3.引入CheckStyle插件

CheckStyle作為檢驗代碼規范的插件,除了可以使用配置默認給定的開發規范,如Sun、Google的開發規范之外,還可以使用像阿里的開發規范的插件。w6T28資訊網——每日最新資訊28at.com

目前國內用的比較多的是阿里的代碼開發規范,我們可以直接通過idea下載插件:w6T28資訊網——每日最新資訊28at.com

w6T28資訊網——每日最新資訊28at.com

如果想檢測某個文件:w6T28資訊網——每日最新資訊28at.com

w6T28資訊網——每日最新資訊28at.com

可以看到結果:w6T28資訊網——每日最新資訊28at.com

w6T28資訊網——每日最新資訊28at.com

阿里巴巴規約掃描包括:w6T28資訊網——每日最新資訊28at.com

  • OOP規約
  • 并發處理
  • 控制語句
  • 命名規約
  • 常量定義
  • 注釋規范

Alibaba Java Coding Guidelines 專注于Java代碼規范,目的是讓開發者更加方便、快速規范代碼格式。w6T28資訊網——每日最新資訊28at.com

該插件在掃描代碼后,將不符合規約的代碼按 Blocker、Critical、Major 三個等級顯示出來,并且大部分可以自動修復。w6T28資訊網——每日最新資訊28at.com

它還基于Inspection機制提供了實時檢測功能,編寫代碼的同時也能快速發現問題。w6T28資訊網——每日最新資訊28at.com

4.用SonarQube掃描代碼

SonarQube是一種自動代碼審查工具,用于檢測代碼中的錯誤,漏洞和代碼格式上的問題。w6T28資訊網——每日最新資訊28at.com

它可以與用戶現有的工作流程集成,以實現跨項目分支和提取請求的連續代碼檢查,同時也提供了可視化的管理頁面,用于查看檢測出的結果。w6T28資訊網——每日最新資訊28at.com

SonarQube通過配置的代碼分析規則,從可靠性、安全性、可維護性、覆蓋率、重復率等方面分析項目,風險等級從A~E劃分為5個等級;w6T28資訊網——每日最新資訊28at.com

同時,SonarQube可以集成pmd、findbugs、checkstyle等插件來擴展使用其他規則來檢驗代碼質量。w6T28資訊網——每日最新資訊28at.com

w6T28資訊網——每日最新資訊28at.com

一般推薦它跟Jenkins集成,做成每天定時掃描項目中test分支中的代碼問題。w6T28資訊網——每日最新資訊28at.com

5.用Fortify掃描代碼

Fortify 是一款廣泛使用的靜態應用程序安全測試(SAST)工具。w6T28資訊網——每日最新資訊28at.com

它具有代碼掃描、漏斗掃描和滲透測試等功能。它的設計目的是有效地檢測和定位源代碼中的漏洞。w6T28資訊網——每日最新資訊28at.com

它能幫助開發人員識別和修復代碼中的安全漏洞。w6T28資訊網——每日最新資訊28at.com

Fortify的主要功能:w6T28資訊網——每日最新資訊28at.com

  • 靜態代碼分析:它會對源代碼進行靜態分析,找出可能導致安全漏洞的代碼片段。它能識別多種類型的安全漏洞,如 SQL 注入、跨站腳本(XSS)、緩沖區溢出等。
  • 數據流分析:它不僅分析單個代碼文件,還跟蹤應用程序的數據流。這有助于找到更復雜的漏洞,如未經驗證的用戶輸入在應用程序中的傳播路徑。
  • 漏洞修復建議:發現潛在的安全漏洞時,它會為開發人員提供修復建議。
  • 集成支持:它可以與多種持續集成(CI)工具(如 Jenkins)和應用生命周期管理(ALM)工具(如 Jira)集成,實現自動化的代碼掃描和漏洞跟蹤。
  • 報告和度量:它提供了豐富的報告功能,幫助團隊了解項目的安全狀況和漏洞趨勢。

使用Fortify掃描代碼的結果:w6T28資訊網——每日最新資訊28at.com

w6T28資訊網——每日最新資訊28at.com

一般推薦它跟Jenkins集成,定期掃描項目中test分支中的代碼安全問題。w6T28資訊網——每日最新資訊28at.com

6.寫單元測試

有些小伙伴可能會問:寫單元測試可以減少代碼的BUG?w6T28資訊網——每日最新資訊28at.com

答案是肯定的。w6T28資訊網——每日最新資訊28at.com

我之前有同事,使用的測試驅動開發模式,開發一個功能模塊之前,先把單元測試寫好,然后再真正的開發業務代碼。w6T28資訊網——每日最新資訊28at.com

后面發現他寫的代碼速度很快,而且代碼質量很高,是一個開發牛人。w6T28資訊網——每日最新資訊28at.com

如果你后期要做系統的代碼重構,你只是重寫了相關的業務代碼,但業務邏輯并沒有修改。w6T28資訊網——每日最新資訊28at.com

這時,因為有了之前寫好的單位測試,你會發現測試起來非常方便。w6T28資訊網——每日最新資訊28at.com

可以幫你減少很多BUG。w6T28資訊網——每日最新資訊28at.com

7.功能自測

功能自測,是程序員的基本要求。w6T28資訊網——每日最新資訊28at.com

但有些程序員自測之后,BUG還是比較多,而有些程序員自測之后,BUG非常少,這是什么原因呢?w6T28資訊網——每日最新資訊28at.com

可能有些人比較粗心,有些人比較細心。w6T28資訊網——每日最新資訊28at.com

其實更重要的是測試的策略。w6T28資訊網——每日最新資訊28at.com

有些人喜歡把所有相關的功能都開發完,然后一起測試。w6T28資訊網——每日最新資訊28at.com

這種情況下,相當于一個黑盒測試,需要花費大量的時間,梳理業務邏輯才能測試完整,大部分情況下,開發人員是沒法測試完整的,可能會有很多bug測試不出來。w6T28資訊網——每日最新資訊28at.com

這種做法是沒有經過單元測試,直接進行了集成測試。w6T28資訊網——每日最新資訊28at.com

看似節省了很多單元測試的時間,但其實后面修復BUG的時間可能會花費更多。w6T28資訊網——每日最新資訊28at.com

比較推薦的自測方式是:一步一個腳印。w6T28資訊網——每日最新資訊28at.com

比如:你寫了一個工具類的一個方法,就測試一下。如果這個方法中,調用了另外一個關鍵方法,我們可以先測試一下這個關鍵方法。w6T28資訊網——每日最新資訊28at.com

這樣可以寫出BUG更少的代碼。w6T28資訊網——每日最新資訊28at.com

8.自動化測試

有些公司引入了自動化測試的功能。w6T28資訊網——每日最新資訊28at.com

有專門的程序,每天都會自動測試,保證系統的核心流程沒有問題。w6T28資訊網——每日最新資訊28at.com

因為我們的日常開發中,經常需要調整核心流程的代碼。w6T28資訊網——每日最新資訊28at.com

不可能每調整一次,都需要把所有的核心流程都測試一遍吧,這樣會浪費大量的時間,而且也容易遺漏一些細節。w6T28資訊網——每日最新資訊28at.com

如果引入了自動化測試的功能,可以幫助我們把核心流程都測試一下。w6T28資訊網——每日最新資訊28at.com

避免代碼重構,或者修改核心流程,測試時間不夠,或者測試不完全的尷尬。w6T28資訊網——每日最新資訊28at.com

自動化測試,可以有效的減少核心流程調整,或者代碼重構中的BUG。w6T28資訊網——每日最新資訊28at.com

9.代碼review

很多公司都有代碼review機制。w6T28資訊網——每日最新資訊28at.com

我之前也參與多次代碼review的會議,發現代碼review確實可以找出很多BUG。w6T28資訊網——每日最新資訊28at.com

比如:一些代碼的邏輯錯誤,語法的問題,不規范的命名等。w6T28資訊網——每日最新資訊28at.com

這樣問題通過組內的代碼review一般可以檢查出來。w6T28資訊網——每日最新資訊28at.com

有些國外的大廠,采用結對編程的模式。w6T28資訊網——每日最新資訊28at.com

同一個組的兩個人A和B一起開發,開發完之后,A reivew B的代碼,同時B review A的代碼。w6T28資訊網——每日最新資訊28at.com

因為同組的A和B對項目比較熟,對對方開發的功能更有了解,可以快速找出對外代碼中的一些問題。w6T28資訊網——每日最新資訊28at.com

能夠有效減少一些BUG。w6T28資訊網——每日最新資訊28at.com

10.多看別人的踩坑分享

如果你想減少日常工作中的代碼BUG,或者線上事故,少犯錯,少踩坑。w6T28資訊網——每日最新資訊28at.com

經??磩e人真實的踩坑分享,是一個非常不錯的選擇,可以學到一些別人的工作經驗,幫助你少走很多彎路。w6T28資訊網——每日最新資訊28at.com

網上有許多博主寫過自己的踩坑記錄,大家可以上網搜一下。w6T28資訊網——每日最新資訊28at.com

最后說一句,本文總結了10種減少代碼BUG的小技巧,但我們要根據實際情況選擇使用,并非所有的場景都適合。w6T28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-84023-0.html我用這十招,減少了80%的BUG

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 用Go語言&&Redis實現分布式鎖,我還是第一次

下一篇: 領域驅動設計(DDD)中的應用架構:六邊形、洋蔥、整潔與清晰

標簽:
  • 熱門焦點
  • 影音體驗是真的強 簡單聊聊iQOO Pad

    大公司的好處就是產品線豐富,非常細分化的東西也能給你做出來,例如早先我們看到了新的vivo Pad2,之后我們又在iQOO Neo8 Pro的發布會上看到了iQOO的首款平板產品iQOO Pad。雖
  • vivo TWS Air開箱體驗:真輕 臻好聽

    在vivo S15系列新機的發布會上,vivo的最新款真無線藍牙耳機vivo TWS Air也一同發布,本次就這款耳機新品給大家帶來一個簡單的分享。外包裝盒上,vivo TWS Air保持了vivo自家產
  • 三萬字盤點 Spring 九大核心基礎功能

    大家好,我是三友~~今天來跟大家聊一聊Spring的9大核心基礎功能。話不多說,先上目錄:圖片友情提示,本文過長,建議收藏,嘿嘿嘿!一、資源管理資源管理是Spring的一個核心的基礎功能,不
  • 每天一道面試題-CPU偽共享

    前言:了不起:又到了每天一到面試題的時候了!學弟,最近學習的怎么樣啊 了不起學弟:最近學習的還不錯,每天都在學習,每天都在進步! 了不起:那你最近學習的什么呢? 了不起學弟:最近在學習C
  • 造車兩年股價跌六成,小米的估值邏輯變了嗎?

    如果從小米官宣造車后的首個交易日起持有小米集團的股票,那么截至2023年上半年最后一個交易日,投資者將浮虧59.16%,同區間的恒生科技指數跌幅為52.78%
  • 華為發布HarmonyOS 4:更好玩、更流暢、更安全

    在8月4日的華為開發者大會2023(HDC.Together)大會上,HarmonyOS 4正式發布。自2019年發布以來,HarmonyOS一直以用戶為中心,經歷四年多的發展HarmonyOS已
  • 華為開發者大會2023日程公開:開設鴻蒙HarmonyOS 4體驗區

    IT之家 7 月 31 日消息,華為今日公布了 HDC.Together 開發者大會 2023 的詳細日程。整場大會將于 8 月 4 日-6 日之間舉行,屆時將發布最新一代鴻蒙 H
  • “買真退假” 這種“羊毛”不能薅

    □ 法治日報 記者 王春   □ 本報通訊員 胡佳麗  2020年初,還在上大學的小東加入了一個大學生兼職QQ群。群主“七王”在群里介紹一些刷單賺
  • 北京:科技教育體驗基地開始登記

      北京“科技館之城”科技教育體驗基地登記和認證工作日前啟動。首批北京科技教育體驗基地擬于2023年全國科普日期間掛牌,后續還將開展常態化登記?! ”本┛萍冀逃w驗基
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产欧美日本一区二区三区| 欧美精品一区二| 亚洲午夜电影| 亚洲午夜视频在线| 香蕉久久一区二区不卡无毒影院| 久久不见久久见免费视频1| 久久精品一区二区三区不卡| 美女脱光内衣内裤视频久久网站| 欧美成年网站| 国产精品jizz在线观看美国| 国产精品夜夜夜一区二区三区尤| 国内外成人在线| 亚洲麻豆av| 性欧美8khd高清极品| 裸体歌舞表演一区二区| 欧美日本亚洲韩国国产| 国产日韩欧美亚洲一区| 亚洲激情成人| 亚洲午夜一级| 久久婷婷国产综合精品青草| 欧美日韩伦理在线免费| 国产欧美日韩精品专区| 亚洲国产高清自拍| 欧美一区二区福利在线| 欧美国产激情二区三区| 国产精品入口尤物| 亚洲黄色性网站| 亚欧成人精品| 欧美日韩免费观看一区| 国内精品视频666| 一二三区精品| 久久影视精品| 国产精品色网| 日韩亚洲欧美综合| 久久综合电影| 国产日韩欧美中文| 99在线观看免费视频精品观看| 欧美在线一级va免费观看| 欧美精品福利| 伊人成年综合电影网| 亚洲免费视频网站| 欧美伦理一区二区| 激情综合久久| 亚洲欧美日韩在线不卡| 欧美精品导航| 亚洲二区在线| 久久久久久久一区二区| 国产精品色在线| 亚洲精品韩国| 久久综合成人精品亚洲另类欧美| 国产精品久久久久久亚洲调教| 亚洲人体影院| 美女主播精品视频一二三四| 国产视频丨精品|在线观看| 亚洲无限av看| 欧美日韩大片| 亚洲青涩在线| 欧美ab在线视频| 激情成人综合网| 久久精品视频免费| 国产一区二区三区精品欧美日韩一区二区三区 | 久久精品国产91精品亚洲| 欧美午夜精品理论片a级按摩| 亚洲人成网站777色婷婷| 久久久久国产精品一区二区| 国产欧美日韩在线视频| 亚洲午夜视频| 国产精品theporn| 99re66热这里只有精品3直播| 欧美风情在线观看| 在线欧美小视频| 久久天天综合| 亚洲盗摄视频| 久久综合色播五月| 亚洲成色精品| 美女性感视频久久久| 136国产福利精品导航| 久久欧美肥婆一二区| 国语自产精品视频在线看抢先版结局 | 亚洲免费成人av电影| 欧美国产视频在线观看| 91久久精品国产91久久| 欧美成人午夜激情| 91久久精品www人人做人人爽| 欧美成人午夜| 亚洲乱码久久| 欧美日韩中文字幕精品| 这里只有精品视频在线| 国产精品理论片在线观看| 亚洲欧美日韩在线播放| 国产日韩一区二区三区在线| 欧美一区三区二区在线观看| 国产午夜亚洲精品理论片色戒| 欧美一区二区三区免费看| 国产日韩一区二区三区在线播放| 欧美一区二区三区四区夜夜大片| 国产亚洲激情视频在线| 久久久精品999| 在线看日韩av| 欧美精品国产一区二区| 国产精品99久久久久久久女警| 欧美色区777第一页| 亚洲资源在线观看| 国内精品久久久久久 | 欧美日韩精品免费 | 欧美一区二区三区四区高清| 国内精品久久久久久影视8| 猫咪成人在线观看| 日韩一级黄色大片| 欧美性猛片xxxx免费看久爱| 亚洲欧美日韩一区在线| 狠狠色丁香婷婷综合| 久久久久久伊人| 亚洲欧洲精品一区二区三区 | 久久福利电影| 亚洲精品1234| 国产精品久久久久久久久久尿| 欧美一区二区在线免费观看| 亚洲第一在线综合在线| 欧美日韩午夜| 欧美影院久久久| 亚洲国产日韩欧美| 欧美午夜剧场| 久久久久国产精品一区| 亚洲美女视频| 国产区精品视频| 欧美成人久久| 午夜精品久久一牛影视| 亚洲福利视频专区| 国产精品高清免费在线观看| 久久久久九九九九| 99视频在线精品国自产拍免费观看| 国产欧美视频在线观看| 欧美91精品| 性久久久久久久| 亚洲人成网站在线播| 国产精品色午夜在线观看| 免费视频亚洲| 亚洲欧美日韩直播| 亚洲黄色精品| 国产一区二区三区在线免费观看| 欧美国产一区视频在线观看| 香蕉久久一区二区不卡无毒影院 | 一区二区动漫| 在线成人激情视频| 欧美性感一类影片在线播放| 免费不卡视频| 性色av一区二区怡红| 亚洲精品欧美| 国户精品久久久久久久久久久不卡| 欧美久久久久久| 久久久久久欧美| 亚洲免费视频中文字幕| 亚洲国产综合视频在线观看| 国产亚洲精品一区二555| 欧美日本国产| 久久亚洲国产精品一区二区| 亚洲免费一在线| 亚洲精选久久| 伊人春色精品| 国产手机视频精品| 国产精品高潮呻吟久久av无限| 免费在线国产精品| 欧美永久精品| 亚洲综合色丁香婷婷六月图片| 91久久精品网| 精品动漫3d一区二区三区免费版| 国产精品每日更新| 欧美屁股在线| 麻豆精品网站| 久久九九国产精品| 午夜欧美精品| 亚洲一区久久久| 99视频一区二区三区| 亚洲电影在线免费观看| 狠狠色狠狠色综合系列| 国产欧美综合一区二区三区| 国产精品久久国产三级国电话系列 | 女同性一区二区三区人了人一| 欧美一级欧美一级在线播放| 亚洲视频碰碰| 一区二区激情视频| 日韩一级精品视频在线观看| 亚洲国产精品成人| 国模精品一区二区三区| 国产九九视频一区二区三区| 欧美香蕉视频| 欧美午夜理伦三级在线观看| 欧美日韩国产bt| 欧美精品在线一区二区| 欧美a级片一区| 免费看精品久久片| 狂野欧美一区| 蜜桃久久av一区| 老司机成人在线视频| 久久视频在线免费观看| 久久久成人网| 久久精品理论片| 久久人人爽爽爽人久久久| 久久久久一本一区二区青青蜜月| 久久精品国产亚洲一区二区三区| 羞羞视频在线观看欧美| 欧美一级理论片| 久久成人精品|