自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

強(qiáng)力推薦!.NET開發(fā)的這23種優(yōu)秀工具

譯文
開發(fā) 開發(fā)工具
本文從IDE和代碼編輯器、調(diào)試器和反編譯器、包管理器、格式化工具、性能分析、管理工具、以及測(cè)試工具七個(gè)領(lǐng)域,介紹了23種優(yōu)秀.NET工具

【51CTO.com快譯】為了深入了解.NET工具的不同特點(diǎn),我們采訪了Microsoft、EPAM、AltexSoft、SocketLabs和其他技術(shù)公司的工程師們。讓他們從軟件開發(fā)、代碼質(zhì)量分析、調(diào)試、以及其他任務(wù)等方面,分享了他們認(rèn)為***的23種.NET工具。

我們將這些工具分為了七組,它們分別是:IDE和代碼編輯器、調(diào)試器和反編譯器、包管理器、格式化工具、性能分析、管理工具、以及測(cè)試工具。

.NET的IDE和代碼編輯器

Visual Studio IDE:Microsoft開發(fā)的***IDE

Visual Studio是由Microsoft所提供的全功能開發(fā)平臺(tái),它涵括了程序代碼的創(chuàng)建、修改和轉(zhuǎn)換等全部過(guò)程。Microsoft通過(guò)IDE的多步支付計(jì)劃(https://visualstudio.microsoft.com/vs/pricing/),能讓更多的個(gè)人和企業(yè)使用到其豐富的工具集。它擁有一個(gè)Visual Studio社區(qū),免費(fèi)向個(gè)人開發(fā)者、以及僅有五個(gè)用戶的非企業(yè)組織進(jìn)行開放。

  • 代碼自動(dòng)完成。該平臺(tái)的IntelliSense代碼編輯器(https://code.visualstudio.com/docs/editor/intellisense)支持基于語(yǔ)言語(yǔ)義和源代碼分析的自動(dòng)完成,并提供針對(duì)代碼的提示和API代碼的編輯。
  • 存儲(chǔ)庫(kù)集成。開發(fā)人員使用Team Explorer(https://docs.microsoft.com/en-us/visualstudio/ide/connect-team-project?view=vs-2019)將Visual Studio連接到項(xiàng)目或存儲(chǔ)庫(kù)中。該工具過(guò)去主要與Microsoft TFS合作,如今則提供了一整套豐富的選項(xiàng)來(lái)向GitHub、GitLab和Bitbucket,提供Git存儲(chǔ)庫(kù)方面的合作。另外,Team Explorer 也提供了簡(jiǎn)單、精細(xì)的圖形化界面,方便用戶在不離開Visual Studio窗口的情況下,開展大量日常任務(wù)。
  • 數(shù)據(jù)庫(kù)開發(fā)。SQL Server Explorer(https://visualstudio.microsoft.com/vs/features/ssdt/)是一款VS工具,可直接用于構(gòu)建Visual Studio和管理SQL數(shù)據(jù)庫(kù)。因此,它顯著地簡(jiǎn)化了數(shù)據(jù)庫(kù)的各項(xiàng)操作。
  • 生產(chǎn)環(huán)境故障排除。如果您懷疑出現(xiàn)了內(nèi)存泄漏或死鎖問(wèn)題,那么通過(guò)捕獲內(nèi)存dump,并在Visual Studio中進(jìn)行分析,就能夠找到明確的答案。憑借著VS優(yōu)勢(shì),您只需右擊任務(wù)管理器,便可方便地使用本地計(jì)算機(jī)上的工具選項(xiàng)進(jìn)行分析。而此類分析對(duì)于生產(chǎn)環(huán)境中的主機(jī)幾乎不產(chǎn)生任何影響。
  • 調(diào)試。使用Visual Studio IDE,開發(fā)人員還可以訪問(wèn)到大量的調(diào)試工具。

總之,如果您是***上手.NET編程的話,Visual Studio是一個(gè)絕好的開始。

Visual Studio代碼:適用于代碼編輯的輕量級(jí)版本

如果您覺得Visual Studio過(guò)于龐復(fù),而只需要代碼編輯器的話,則可以選擇輕量級(jí)的Visual Studio Code(https://code.visualstudio.com/)。它是免費(fèi)的,可用于許多工程場(chǎng)景的跨平臺(tái)開發(fā)之中(如:Linux、Mac OS和Windows)。與Visual Studio類似,Code也能夠完全支持IntelliSense的編碼、調(diào)試、Git集成、以及擴(kuò)展。與其他諸如JetBrains的Rider的代碼編輯器相比,Visual Studio Code具有更好的可擴(kuò)展性。它不僅可被用于.NET和C#,而且支持幾乎任何一種編程語(yǔ)言。

JetBrains的Rider:一種全新的IDE

Rider是一款相對(duì)較新的.NET IDE,雖然只提供30天的試用,但是Rider能夠支持Windows、Mac OS X和Linux上的.NET和.NET的核心應(yīng)用。Rider具有運(yùn)行速度較快,版本控制集成、以及廣泛的反編譯功能。Rider能夠提供各種項(xiàng)目所需的控制臺(tái)、Web和庫(kù)。同時(shí),它還包含有導(dǎo)航、搜索、重構(gòu)、代碼檢查、快速修復(fù)、以及與版本控制系統(tǒng)無(wú)縫集成等功能。

與Visual Studio相比,JetBrains' Rider不但體驗(yàn)更好、性能更佳,而且其許可證的***年只要139美元,而Visual Studio專業(yè)版每年的費(fèi)用高達(dá)1,199美元,企業(yè)版更是每年5,999美元。

Visual Studio擴(kuò)展

JetBrains的ReSharper:VS的必備附加組件

JetBrains的另一款產(chǎn)品是ReSharper(https://www.jetbrains.com/resharper/?gclid=CjwKCAjw7_rlBRBaEiwAc23rhvE2g2LuCdK1ErMYNIz1ZzMMwUsWeuYX8mQRUt315EIA5Y1ZTx2r4BoCe6MQAvD_BwE&gclsrc=aw.ds)。作為一種流行的開發(fā)擴(kuò)展工具,它改進(jìn)了重構(gòu)、代碼片段、模板引擎,并增加了額外的靜態(tài)代碼分析功能。另外,ReSharper可以檢測(cè)各種錯(cuò)誤、提供大量的自動(dòng)修復(fù)、能夠簡(jiǎn)化代碼的修改,以及允許開發(fā)人員快速地瀏覽其代碼。

通過(guò)分析代碼的質(zhì)量,ReSharper能夠優(yōu)化代碼的性能、避免內(nèi)存的泄漏、以及創(chuàng)建構(gòu)造函數(shù)、條件塊和新的類。

NDepend:徹底進(jìn)行代碼分析的***工具

作為Visual Studio的插件,NDepend(https://www.ndepend.com/)是另一種可以根據(jù)用戶的特殊需求進(jìn)行定制化代碼分析的工具。它可以快速、準(zhǔn)確地檢查源代碼、及其依賴項(xiàng),并提供詳細(xì)、精確的各類指標(biāo)。

Visual Studio Cloud Explorer:能與Azure云交互的解決方案

Cloud Explorer(https://marketplace.visualstudio.com/items?itemName=ms-azuretools.CloudExplorerForVS)工具允許用戶在Visual Studio里直接管理Azure云資源、檢查其屬性、以及執(zhí)行開發(fā)人員的各項(xiàng)診斷操作。由于不需要訪問(wèn)Azure門戶,用戶完全可以在VS中看到所有的Azure云內(nèi)容,因此大幅節(jié)省了時(shí)間。

包管理器

包管理器能夠通過(guò)支持托管用戶的各種包、模塊、以及庫(kù),來(lái)實(shí)現(xiàn)整個(gè)團(tuán)隊(duì)的工作流,并在構(gòu)建與發(fā)布上持續(xù)交付。因此,它是.NET生態(tài)系統(tǒng)的重要補(bǔ)充。

NuGet:用于創(chuàng)建、共享和使用.NET庫(kù)的通用工具

NuGet(https://www.nuget.org/)包管理器、及其Gallery是一個(gè)能夠與.NET一起使用的集中式包存儲(chǔ)庫(kù)。它擁有大約15萬(wàn)個(gè)獨(dú)特的軟件包,和超過(guò)150萬(wàn)個(gè)包的不同版本。由于NuGet將.NET框架、庫(kù)和模塊引入到了.NET項(xiàng)目中,因此您***將它與其他資源管理器工具一起使用。

NuGet Package Explorer:一種交互、瀏覽和發(fā)布NuGet包的新方法

該開源產(chǎn)品具有友好的用戶界面,可用于創(chuàng)建、瀏覽、調(diào)試和分析NuGet包。同時(shí),它擁有簡(jiǎn)潔且圖形化的用戶界面。

.NET庫(kù)也適用于npm

近年來(lái),為了方便給Web開發(fā)提供源代碼,Microsoft Visual Studio還增加了對(duì)于npm的支持。同時(shí)各種現(xiàn)代化的Web實(shí)踐工具,以及開源的代碼,也都能夠使用.NET Core在后端進(jìn)行編寫了。

調(diào)試和反編譯工具

通過(guò)調(diào)試工具,開發(fā)人員能夠查看代碼,并在任何開發(fā)階段識(shí)別問(wèn)題的根本原因。為了進(jìn)行排障,我們可以使用反編譯工具,將已編譯的第三方代碼轉(zhuǎn)換回C#程序。

WinDbg:適用于Windows的獨(dú)立調(diào)試工具

由Microsoft分發(fā)的WinDBg(https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools),是專為調(diào)試Windows應(yīng)用程序而構(gòu)建的。不同于使用調(diào)試工具內(nèi)置的IDE這一傳統(tǒng)方式,WinDbg可以在Visual Studio之外被運(yùn)行。因此它更適合那些喜歡開源和免費(fèi)軟件的開發(fā)人員。

該工具用于調(diào)試內(nèi)核模式和用戶模式代碼,檢查故障轉(zhuǎn)儲(chǔ)和CPU寄存器。

JetBrains的dotPeek:一款不錯(cuò)的免費(fèi)反編譯工具

dotPeek(https://www.jetbrains.com/decompiler/)是一款可靠的基于ReSharper的反編譯器,它適用于調(diào)試第三方程序的代碼集合。使用dotPeek,您可以在不直接訪問(wèn)源代碼的前提下,檢查第三方組件中出現(xiàn)的問(wèn)題??梢?,它是一款簡(jiǎn)單、高效且全面的工具。如果您需要根據(jù)某個(gè)應(yīng)用程序特定版本的DLL文件,來(lái)恢復(fù)已有的代碼,那么dotPeek就能夠在最短的時(shí)間內(nèi)恢復(fù)那些丟失的代碼。

  • LSpy:可以替代.NET Reflector
  • LSpy(https://github.com/icsharpcode/ILSpy/releases)是一個(gè).NET assembly瀏覽器與反編譯器。它一款免費(fèi)的工具,完全可以替代.NET Reflector。該工具可以將任意.NET DLL反編譯回Visual Basic或C#。因此,如果您丟失了源代碼,ILSpy可以讓您了解各種框架DLL背后的代碼工作機(jī)制。同時(shí),您也可以通過(guò)各種插件(https://github.com/icsharpcode/ILSpy/wiki/Plugins)來(lái)增強(qiáng)其基本包。

格式化工具

格式化工具可以幫助用戶通過(guò)遵循某些一致性的代碼樣式,來(lái)檢測(cè)并修復(fù)各種樣式上的漏洞。同時(shí),您也可以在IDE中進(jìn)行設(shè)置,以便它能夠在您輸入的時(shí)候,實(shí)時(shí)進(jìn)行運(yùn)作。

SonarQube:一種維護(hù)代碼質(zhì)量的簡(jiǎn)便工具

SonarQube(https://www.sonarqube.org/)是一種開源的靜態(tài)代碼審查工具,它是由一組靜態(tài)分析工具、數(shù)據(jù)集市、以及門戶所組成,您既可以在其中管理技術(shù)債(technical debt),又能夠分析.NET的托管代碼。除了具有強(qiáng)大的社區(qū)支持,SonarQube還能夠以添加插件的方式,提供各種額外的分析工具。SonarQube不但易于設(shè)置與配置,而且具有豐富的內(nèi)置規(guī)則集,包括:編碼標(biāo)準(zhǔn)、***實(shí)踐、以及各種安全規(guī)則。

在實(shí)際應(yīng)用中,SonarQube允許用戶標(biāo)準(zhǔn)化其代碼、并可視化已審查的代碼覆蓋率,進(jìn)而提高了代碼的可維護(hù)性、整體質(zhì)量、以及審查的工作量。

StyleCop:.NET代碼樣式的可配置工具

StyleCop是一個(gè)本地代碼分析器,它能夠?qū)υ创a強(qiáng)制執(zhí)行樣式、以及一致性規(guī)則的檢查。它允許開發(fā)人員選擇如下三種形式的自定義規(guī)則:

性能分析與管理

我們?cè)陂_發(fā)過(guò)程中,如果遇到了性能問(wèn)題,往往需要收集與問(wèn)題相關(guān)的各種詳細(xì)信息。使用如下工具,.NET開發(fā)人員可以跟蹤計(jì)算機(jī)的性能,找出問(wèn)題背后的原因。

PerfCollect和PerfView:標(biāo)準(zhǔn)的.NET性能優(yōu)化工具箱

PerfCollect(https://raw.githubusercontent.com/dotnet/corefx-tools/master/src/performance/perfcollect/perfcollect)是一個(gè)自動(dòng)化數(shù)據(jù)收集的Bash腳本,而PerfView(https://github.com/Microsoft/perfview#perfview-overview)則是一個(gè)基于Windows的性能工具。您可以使用PerfCollect來(lái)捕獲perf的跟蹤文件,然后使用PerfView來(lái)進(jìn)行分析。

除了可以調(diào)整CPU和內(nèi)存的分配,PerfView還具有如下優(yōu)點(diǎn):

  • 無(wú)需安裝,只需將應(yīng)用程序復(fù)制到您希望從中捕獲性能數(shù)據(jù)的Windows主機(jī)上,然后配置需要分析的內(nèi)容,便可開始捕獲。
  • 無(wú)需為了進(jìn)行分析而修改應(yīng)用程序,或降低性能。
  • 能以Chrome性能工具相似的方式呈現(xiàn)各種結(jié)果。

JetBrains的dotTrace和dotMemory:性能和內(nèi)存分析

dotTrace(https://www.jetbrains.com/profiler/)和dotMemory(https://www.jetbrains.com/dotmemory/?gclid=Cj0KCQjwkoDmBRCcARIsAG3xzl8Tqjd2pnIRvxGDqXSTcZX33zS9MNEL7OVFXHjLJMyf_UgCRkXco8oaAsZZEALw_wcB&gclsrc=aw.ds)可跟蹤與分析.NET應(yīng)用程序的性能、以及內(nèi)存問(wèn)題。它們能夠處理大量的數(shù)據(jù),并以全面的方式呈現(xiàn)給用戶。

dotTrace的功能包括:性能瓶頸檢測(cè)、調(diào)用堆棧分析、性能時(shí)間線報(bào)告、以及許多其他類型的分析操作。而dotMemory的功能則包括:遠(yuǎn)程分析、自動(dòng)檢查內(nèi)存問(wèn)題、內(nèi)存流量分析、以及內(nèi)存快照比較等。

BenchmarkDotNet:用于基準(zhǔn)測(cè)試的強(qiáng)大.NET庫(kù)

作為一個(gè)開源項(xiàng)目,BenchmarkDotNet(https://benchmarkdotnet.org/)消除了用戶對(duì)于性能的猜測(cè),并能夠通過(guò)自動(dòng)隔離每一個(gè)基準(zhǔn),來(lái)運(yùn)行并測(cè)試多次迭代。它是一個(gè)小型編程工具,通過(guò)各種示例,用戶能夠測(cè)量和比較自己的算法性能,進(jìn)而得到可靠結(jié)果,并提高生產(chǎn)率。

測(cè)試工具

Visual Studio MSTest:一種流行的單元測(cè)試框架

MSTest框架在Visual Studio產(chǎn)品系列中占據(jù)著獨(dú)特的位置。由于.NET模式的單元測(cè)試會(huì)為每個(gè)生產(chǎn)項(xiàng)目準(zhǔn)備一個(gè)單獨(dú)的測(cè)試項(xiàng)目,因此您可以直接在MSTest中通過(guò)File->New Project來(lái)生成。而在測(cè)試時(shí),您可以在IDE中觀察到測(cè)試結(jié)果。

NUnit:優(yōu)秀的測(cè)試工具

NUnit(https://nunit.org/)非常適合在非Microsoft平臺(tái)、以及自定義的測(cè)試中互動(dòng)式運(yùn)行。它不但能夠?qū)崿F(xiàn)快速的測(cè)試和對(duì)測(cè)試進(jìn)行標(biāo)注,而且可以針對(duì)給定測(cè)試的多個(gè)輸入進(jìn)行簡(jiǎn)單的規(guī)范化。不過(guò),NUnit不能像MSTest那樣,可以被無(wú)縫地集成到Visual Studio中。

同時(shí),由于NUnit支持廣泛的自定義屬性,因此用戶可以根據(jù)不同的參數(shù)分類,輕松地開展測(cè)試。此外,憑借著控制臺(tái)運(yùn)行程序,NUnit可以被輕松地將測(cè)試集成到CI流程中。

xUnit.NET:一種創(chuàng)新的.NET單元測(cè)試工具

xUnit為測(cè)試語(yǔ)言創(chuàng)建了一套直觀的術(shù)語(yǔ)。它將測(cè)試劃分為“事實(shí)”與“理論”,進(jìn)而分別區(qū)分“始終為真”和“對(duì)于正確數(shù)據(jù)為真”等情況。作為一種擴(kuò)展,xUnit可被用來(lái)開發(fā).NET Core。

JetBrains dotCover:針對(duì)持續(xù)測(cè)試的代碼覆蓋工具

dotCover(https://www.jetbrains.com/dotcover/)是一個(gè)代碼覆蓋工具,它可以分析用戶的代碼、產(chǎn)生單元測(cè)試的覆蓋范圍報(bào)告。作為ReSharper軟件包的一部分,dotCover既可以獨(dú)立于ReSharper工作,也可以與ReSharper協(xié)同工作。

用戶可以將dotCover作為持續(xù)集成流程中的一部分,與JetBrains的TeamCity CI服務(wù)器一起使用,以查看單元測(cè)試的代碼涵蓋率。

其他實(shí)用工具

LINQPad:連接數(shù)據(jù)庫(kù)的多功能工具

LINQPad(https://www.linqpad.net/)是一個(gè)輕量級(jí)的.NET應(yīng)用程序,可用于在沒(méi)有IDE的情況下,交互式地編寫C#代碼。該工具不僅可以實(shí)現(xiàn)一系列的查詢操作,還具有集成的調(diào)試器和自動(dòng)完成等功能(支持IntelliSense)。

通過(guò)其數(shù)據(jù)庫(kù)查詢的能力,LINQPad能夠?qū)⒏鞣N執(zhí)行轉(zhuǎn)換為純SQL,以便用戶修改數(shù)據(jù)、并轉(zhuǎn)換數(shù)據(jù)庫(kù)的架構(gòu)。

另外,用戶還可以使用LINQPad來(lái)開發(fā)自定義的計(jì)費(fèi)平臺(tái),以實(shí)現(xiàn)快速原型設(shè)計(jì)、算法測(cè)試和LINQ查詢驗(yàn)證等功能。

dotnet-script:簡(jiǎn)單的實(shí)驗(yàn)?zāi)_本

Dotnet-script(https://github.com/filipw/dotnet-script)是一個(gè)帶有IntelliSense的跨平臺(tái).NET Core工具。它可以直接在Visual Studio Code中調(diào)試各種腳本。由于支持NuGet包,dotnet-script代碼可以實(shí)現(xiàn)相互關(guān)聯(lián),并存放在同一個(gè)文件中。

如何選擇自己的.NET工具集?

那么我們?cè)撊绾卧?NET項(xiàng)目的各種可用工具集中進(jìn)行選擇呢?下面是一些經(jīng)驗(yàn)與建議:

  • 根據(jù)項(xiàng)目目標(biāo)與簡(jiǎn)單化原則,我們不應(yīng)在選擇工具上花費(fèi)太多的時(shí)間,而應(yīng)注意工具本身的易用性。
  • 根據(jù)日常工作中的實(shí)際需求,在開發(fā)過(guò)程中避免重復(fù)性的工作。
  • 能輕松地部署到生產(chǎn)環(huán)境中,且?guī)?lái)的影響最小。
  • 在業(yè)界和社區(qū)里有良好的聲譽(yù)。
  • 是否提供免費(fèi)試用或完全免費(fèi)。
  • 學(xué)習(xí)曲線是否陡峭復(fù)雜。

原文標(biāo)題:Top 23 Tools for .NET Development: The Experts' Choices,作者:Kseniia Bezugla

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

責(zé)任編輯:龐桂玉 來(lái)源: 51CTO
相關(guān)推薦

2011-03-04 09:39:36

Windows

2009-09-17 08:48:54

CCNA教材教程CCNA

2009-09-14 10:23:59

CCNA自學(xué)教材

2017-09-05 16:27:28

GitHub

2009-03-11 20:25:13

Linux下載工具強(qiáng)力推薦

2019-12-23 15:55:55

軟件WindowsLinux

2019-08-26 18:20:05

JavascriptWeb前端

2011-04-19 10:15:34

CSS3CSS

2011-05-04 16:41:09

激光打印機(jī)

2011-05-04 09:43:20

黑白激光打印機(jī)

2011-08-18 09:25:47

愛普生掃描儀

2012-05-09 15:56:26

激光打印機(jī)推薦

2012-10-25 14:45:49

2011-05-04 13:33:33

惠普黑白激光打印機(jī)

2012-05-03 16:17:12

復(fù)合一體機(jī)推薦

2020-06-24 07:47:16

Linux工具版本

2012-05-25 13:19:48

Web

2011-07-28 10:12:37

松下針式打印機(jī)

2014-03-21 09:44:08

MAC PHPMAC JS

2012-10-18 12:02:29

傲游瀏覽器傲游
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)