同事每天早下班,原來是用了這8個開發工具

ITPUB社群 發表於 2022-11-24


引言

工欲善其事必先利其器,說的就是工匠要想更加高效的做事情,就得先將工具變得鋒利。那麼對於程式設計師來說同樣也是如此,如果要想每天早點下班,就必須藉助於一些開發工具來提高自己的工作效率,今天慕楓就給大家總結一些工作中常用到的工具。

Everything

不知道大家在日常工作中會不會遇到這樣的情況,每次找檔案的時候總是為想不起來放在哪個目錄而抓狂,但是還好記得檔名字,而window自帶的檔案搜尋簡直慢的離譜,另外還經常出現搜尋一個檔案等了半天卻沒有這個檔案的情況,簡直想吐血。如果有一款工具可以搜尋本地所有的檔案就好了,於是Everything應運而生。

Everything是一款Windows系統的檔案搜尋工具,透過它可以快速查詢電腦中的檔案以及檔案位置,真正實現全盤搜尋,而且它的體積也非常小,僅需要大約 14 MB 的記憶體以及不到 9 MB 的硬碟空間,搜尋檔案的效率大概在秒級,比windows自帶的檔案搜尋效率高出很多倍。可以說有了Everything就可以告別到處找檔案的尷尬境地,實現檔案快速定位,大幅度節約檔案搜尋時間。

同事每天早下班,原來是用了這8個開發工具

Maven helper

平時我們在進行專案開發的時候,總是不可避免的引入第三方jar包來進行功能整合,但是引入的第三方包中會不會包含和專案中現有jar包存在版本衝突的jar包,實際上我們是不好進行判斷的。這就會導致經常出現jar包衝突導致的服務啟動失敗等異常問題,有的時候費了九牛二虎之力排查問題,結果發現只是小小的jar包版本衝突問題,非常浪費時間和精力。

而Maven Helper就是一款Java開發必不可少的Maven管理外掛,沒有它之前我們需要人工手動的去分析jar包版本衝突,費時又費力,透過Maven Helper可以一鍵找到工程中相沖突的jar包,然後透過exclude將衝突的jar包進行排除,在對應的pom檔案中會自動新增<exclusion>,如此我們可以快速地去除工程中的衝突的jar包,讓技術人員可以更加關注業務功能實現,儘可能的不被這些瑣事浪費時間。

同事每天早下班,原來是用了這8個開發工具

ProcessOn

程式設計師在平時的工作中除了編碼實現之外,還包括了架構設計、編寫技術方案等。而無論是架構設計還是編寫技術方案,畫圖總是必不可少的,清晰明瞭的架構圖、流程圖、時序圖可以幫助我們更加直觀的理解業務邏輯以及架構原理。因此一款功能強大的畫圖軟體就顯得尤為重要了。

ProcessOn是一款功能十分強大的線上繪圖工具,支援流程圖、思維導圖、UML、網路拓撲等多種結構圖形繪製,甚至還支援團隊協作繪製,另外由於它是線上繪圖工具,遮蔽了系統間使用差異,可以隨時隨地進行圖形繪製創作。在ProcessOn上面還囊括了海量的各行各業都可能用到的畫圖模板,有的時候自己沒有畫圖思路的時候完全可以借鑑模板中的畫圖結構。

同事每天早下班,原來是用了這8個開發工具

Apipost

在程式設計師的日常工作中,介面聯調測試是最重要的研發工作之一,透過和別的同學進行聯調測試可以發現我們的介面定義問題、檢查介面呼叫的正確性等等。市面上的介面測試工具多入牛毛,但是都總覺得缺點意思,能測試介面的不能生成介面文件,能生成介面文件的不能進行效能測試,總之就是不能覆蓋程式設計師所有的介面開發使用場景。

而Apipost的出現完美解決了以上問題,官方宣稱Apipost = Postman + Swagger + Mock + Jmeter,,也就是說它將這幾個工具的能力都整合到了一起。實際上一言一概之,Apipost是API介面一攬子解決方案。透過它可以定義介面、共享介面、測試介面、Mock介面、生成文件等等,基本覆蓋了和介面相關的所有研發場景。其中支援專案團隊中的介面共享我覺得是非常實用的一個能力,以前我們開發介面和別人對接的時候要麼是介面文件滿天飛傳來換取,要麼是Swagger連線發來發去,而Apipost完美解決這些問題,錄入介面只有專案組的成員都可以看得到,同時還支援自動生成API文件,不要太方便。

同事每天早下班,原來是用了這8個開發工具

另外介面還支援檢視介面狀態,主要包括開發中、已完成、需修改三種介面狀態,團隊中的前後端同事可以清晰明瞭的看到各個介面的實現狀態,方便大家及時瞭解各個介面開發進度。同時協作日誌可以檢視介面的修改記錄,非常實用。

同事每天早下班,原來是用了這8個開發工具

MAT

記憶體溢位大概是程式設計師最不想遇到的線上異常,但是又不得不面對,因為記憶體溢位是非常典型的服務異常。快速的定位記憶體異常原因並進行修復,減少線上異常影響時間,是對程式設計師比較基本的技能要求。實際上在分析記憶體溢位的時候,我們可以藉助於記憶體分析工具來進行,提高我們定位問題的效率。

MAT(Memory Analysis Tool)即記憶體分析工具,它可以幫助開發者分析Java應用的hprof崩潰檔案,分析異常堆積物件快速找到記憶體洩漏的類及其對應的方法,方便技術人員定位分析記憶體洩漏問題。

同事每天早下班,原來是用了這8個開發工具

Java Stream Debugger

在開發需求的時候,我們經常使用stream()流來簡化迴圈程式碼,結合lambda表示式可以讓變得更加簡潔。但是有個問題一直困擾著技術人員就是stream()流內部不好進行debug,沒法檢視其中的值迴圈操作情況,而Java Streanm Debugger可以幫助我們解析stream()流內部資料賦值情況,方便程式設計師檢視各個值的執行流程以及資料最終結果。

同事每天早下班,原來是用了這8個開發工具

Wireshark

Wireshark是一款網路卡抓包分析工具,透過它可以抓取指定網路卡的所有網路資料包。主要可以應用在分析網路資料正確性、網路底層通訊機制以及到底是客戶端主動斷開連線還是服務端斷開等網路資料分析的場景。

同事每天早下班,原來是用了這8個開發工具

Arthas

Arthas是阿里巴巴開源的一款線上Java應用異常定位診斷工具,不需要重啟應用可以實現動態跟蹤java程式碼,透過Arthas我們可以線上上實時檢視應用記憶體、CPU佔用等負載情況、JVM GC以及執行緒狀態資訊等等,同時它還支援不必重啟服務線上進行程式碼熱修改,這在定位線上問題測試修改後程式碼的執行情況的場景下非常實用,大大提高了技術人員分析問題解決異常的效率。

Arthas啟動後可以attach到指定的java程式,以下便是Arthas啟動後的互動介面。

同事每天早下班,原來是用了這8個開發工具

 Arthas提供了豐富的命令互動,這裡輸入dashboard命令,可以檢視當前java應用的各個執行緒的cpu、執行狀態等資訊,同時可以檢視JVM中堆、年輕代、元空間以及老年代等區域的使用情況,方便我們理解java應用的記憶體垃圾回收情況。

同事每天早下班,原來是用了這8個開發工具

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024420/viewspace-2924973/,如需轉載,請註明出處,否則將追究法律責任。