工具推薦:程序員必備的 7 個(gè)開發(fā)工具,讓你的工作效率提升200%
如果要想早點(diǎn)完成自己的工作,就必須借助于一些開發(fā)工具來提高自己的工作效率,今天就給大家總結(jié)一些工作中常用到的工具。

Everything
不知道大家在日常工作中會(huì)不會(huì)遇到這樣的情況,每次找文件的時(shí)候總是為想不起來放在哪個(gè)目錄而抓狂,但是還好記得文件名字,而window自帶的文件搜索簡(jiǎn)直慢的離譜,另外還經(jīng)常出現(xiàn)搜索一個(gè)文件等了半天卻沒有這個(gè)文件的情況,簡(jiǎn)直想吐血。如果有一款工具可以搜索本地所有的文件就好了,于是Everything應(yīng)運(yùn)而生。
Everything是一款Windows系統(tǒng)的文件搜索工具,通過它可以快速查找電腦中的文件以及文件位置,真正實(shí)現(xiàn)全盤搜索,而且它的體積也非常小,僅需要大約 14 MB 的內(nèi)存以及不到 9 MB 的硬盤空間,搜索文件的效率大概在秒級(jí),比windows自帶的文件搜索效率高出很多倍??梢哉f有了Everything就可以告別到處找文件的尷尬境地,實(shí)現(xiàn)文件快速定位,大幅度節(jié)約文件搜索時(shí)間。

Maven?helper
平時(shí)我們?cè)谶M(jìn)行項(xiàng)目開發(fā)的時(shí)候,總是不可避免的引入第三方j(luò)ar包來進(jìn)行功能集成,但是引入的第三方包中會(huì)不會(huì)包含和項(xiàng)目中現(xiàn)有jar包存在版本沖突的jar包,實(shí)際上我們是不好進(jìn)行判斷的。這就會(huì)導(dǎo)致經(jīng)常出現(xiàn)jar包沖突導(dǎo)致的服務(wù)啟動(dòng)失敗等異常問題,有的時(shí)候費(fèi)了九牛二虎之力排查問題,結(jié)果發(fā)現(xiàn)只是小小的jar包版本沖突問題,非常浪費(fèi)時(shí)間和精力。
而Maven Helper就是一款Java開發(fā)必不可少的Maven管理插件,沒有它之前我們需要人工手動(dòng)的去分析jar包版本沖突,費(fèi)時(shí)又費(fèi)力,通過Maven Helper可以一鍵找到工程中相沖突的jar包,然后通過exclude將沖突的jar包進(jìn)行排除,在對(duì)應(yīng)的pom文件中會(huì)自動(dòng)添加,如此我們可以快速地去除工程中的沖突的jar包,讓技術(shù)人員可以更加關(guān)注業(yè)務(wù)功能實(shí)現(xiàn),盡可能的不被這些瑣事浪費(fèi)時(shí)間。

ProcessOn
程序員在平時(shí)的工作中除了編碼實(shí)現(xiàn)之外,還包括了架構(gòu)設(shè)計(jì)、編寫技術(shù)方案等。而無論是架構(gòu)設(shè)計(jì)還是編寫技術(shù)方案,畫圖總是必不可少的,清晰明了的架構(gòu)圖、流程圖、時(shí)序圖可以幫助我們更加直觀的理解業(yè)務(wù)邏輯以及架構(gòu)原理。因此一款功能強(qiáng)大的畫圖軟件就顯得尤為重要了。
ProcessOn是一款功能十分強(qiáng)大的在線繪圖工具,支持流程圖、思維導(dǎo)圖、UML、網(wǎng)絡(luò)拓?fù)涞榷喾N結(jié)構(gòu)圖形繪制,甚至還支持團(tuán)隊(duì)協(xié)作繪制,另外由于它是在線繪圖工具,屏蔽了系統(tǒng)間使用差異,可以隨時(shí)隨地進(jìn)行圖形繪制創(chuàng)作。在ProcessOn上面還囊括了海量的各行各業(yè)都可能用到的畫圖模板,有的時(shí)候自己沒有畫圖思路的時(shí)候完全可以借鑒模板中的畫圖結(jié)構(gòu)。

Apipost
在程序員的日常工作中,接口聯(lián)調(diào)測(cè)試是最重要的研發(fā)工作之一,通過和別的同學(xué)進(jìn)行聯(lián)調(diào)測(cè)試可以發(fā)現(xiàn)我們的接口定義問題、檢查接口調(diào)用的正確性等等。市面上的接口測(cè)試工具多入牛毛,但是都總覺得缺點(diǎn)意思,能測(cè)試接口的不能生成接口文檔,能生成接口文檔的不能進(jìn)行性能測(cè)試,總之就是不能覆蓋程序員所有的接口開發(fā)使用場(chǎng)景。
而Apipost的出現(xiàn)完美解決了以上問題,官方宣稱Apipost = Postman + Swagger + Mock + Jmeter,,也就是說它將這幾個(gè)工具的能力都整合到了一起。實(shí)際上一言一概之,Apipost是API接口一攬子解決方案。通過它可以定義接口、共享接口、測(cè)試接口、Mock接口、生成文檔等等,基本覆蓋了和接口相關(guān)的所有研發(fā)場(chǎng)景。其中支持項(xiàng)目團(tuán)隊(duì)中的接口共享我覺得是非常實(shí)用的一個(gè)能力,以前我們開發(fā)接口和別人對(duì)接的時(shí)候要么是接口文檔滿天飛傳來?yè)Q取,要么是Swagger連接發(fā)來發(fā)去,而Apipost完美解決這些問題,錄入接口只有項(xiàng)目組的成員都可以看得到,同時(shí)還支持自動(dòng)生成API文檔,不要太方便。

另外接口還支持查看接口狀態(tài),主要包括開發(fā)中、已完成、需修改三種接口狀態(tài),團(tuán)隊(duì)中的前后端同事可以清晰明了的看到各個(gè)接口的實(shí)現(xiàn)狀態(tài),方便大家及時(shí)了解各個(gè)接口開發(fā)進(jìn)度。同時(shí)協(xié)作日志可以查看接口的修改記錄,非常實(shí)用。
MAT
內(nèi)存溢出大概是程序員最不想遇到的線上異常,但是又不得不面對(duì),因?yàn)閮?nèi)存溢出是非常典型的服務(wù)異常。快速的定位內(nèi)存異常原因并進(jìn)行修復(fù),減少線上異常影響時(shí)間,是對(duì)程序員比較基本的技能要求。實(shí)際上在分析內(nèi)存溢出的時(shí)候,我們可以借助于內(nèi)存分析工具來進(jìn)行,提高我們定位問題的效率。
MAT(Memory Analysis Tool)即內(nèi)存分析工具,它可以幫助開發(fā)者分析Java應(yīng)用的hprof崩潰文件,分析異常堆積對(duì)象快速找到內(nèi)存泄漏的類及其對(duì)應(yīng)的方法,方便技術(shù)人員定位分析內(nèi)存泄漏問題。

Wireshark
Wireshark是一款網(wǎng)卡抓包分析工具,通過它可以抓取指定網(wǎng)卡的所有網(wǎng)路數(shù)據(jù)包。主要可以應(yīng)用在分析網(wǎng)絡(luò)數(shù)據(jù)正確性、網(wǎng)絡(luò)底層通信機(jī)制以及到底是客戶端主動(dòng)斷開連接還是服務(wù)端斷開等網(wǎng)絡(luò)數(shù)據(jù)分析的場(chǎng)景。

Arthas
Arthas是阿里巴巴開源的一款線上Java應(yīng)用異常定位診斷工具,不需要重啟應(yīng)用可以實(shí)現(xiàn)動(dòng)態(tài)跟蹤java代碼,通過Arthas我們可以在線上實(shí)時(shí)查看應(yīng)用內(nèi)存、CPU占用等負(fù)載情況、JVM GC以及線程狀態(tài)信息等等,同時(shí)它還支持不必重啟服務(wù)在線進(jìn)行代碼熱修改,這在定位線上問題測(cè)試修改后代碼的執(zhí)行情況的場(chǎng)景下非常實(shí)用,大大提高了技術(shù)人員分析問題解決異常的效率。
Arthas啟動(dòng)后可以attach到指定的java進(jìn)程,以下便是Arthas啟動(dòng)后的交互界面。

Arthas提供了豐富的命令交互,這里輸入dashboard命令,可以查看當(dāng)前java應(yīng)用的各個(gè)線程的cpu、運(yùn)行狀態(tài)等信息,同時(shí)可以查看JVM中堆、年輕代、元空間以及老年代等區(qū)域的使用情況,方便我們理解java應(yīng)用的內(nèi)存垃圾回收情況。

作者:慕楓技術(shù)筆記
來源:稀土掘金,鏈接:https://juejin.cn/post/7165302993812717582

此外,有學(xué)C/C++或者轉(zhuǎn)行的朋友,我也給大家分享我收集的資源,從最零基礎(chǔ)開始的教程到C語言C++項(xiàng)目案例,幫助大家在學(xué)習(xí)C語言的道路上披荊斬棘!

整理分享(多年學(xué)習(xí)的源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)最重要的是你可以在群里面交流提問編程問題哦!
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!
編程學(xué)習(xí)書籍分享:

編程學(xué)習(xí)視頻分享:
