幾年前MSDN上的一篇文章《Ten Must-Have Tools Every Developer Should Download Now》中介紹了.NET開(kāi)發(fā)中必備的十大工具,幾年過(guò)去之后,.NET Framework發(fā)展到了3.5版本,這些工具中,有些已經(jīng)轉(zhuǎn)向商業(yè)化,有些因?yàn)橥瞥隽诵碌墓ぞ叨呀?jīng)停止了開(kāi)發(fā),有些則繼續(xù)免費(fèi)提供給開(kāi)發(fā)者使用。
筆者對(duì).NET開(kāi)發(fā)中必備的十大工具重新做了整理,推出新版.NET開(kāi)發(fā)必備十大工具。本文只是簡(jiǎn)單的對(duì)其進(jìn)行介紹,更加詳細(xì)的用法我將會(huì)陸續(xù)進(jìn)行講解。
1.Snippet Compiler
Snippet Compiler是一個(gè)基于 Windows 的小型應(yīng)用程序,你可以通過(guò)它來(lái)編寫(xiě)、編譯和運(yùn)行代碼。如果你具有較小的代碼段,并且你不想創(chuàng)建完整的 Visual Studio .NET 項(xiàng)目(以及該項(xiàng)目附帶的所有文件),則該工具會(huì)很有用。現(xiàn)在Snippet Compiler已經(jīng)支持.NET Framework 3.5,最新版本為Snippet Compiler Live 2008 Ultimate Edition for Developers (Alpha),如下圖所示:
官方主頁(yè):
http://www.sliver.com/dotnet/SnippetCompiler/2.Microsoft Source Analysis for C#
Microsoft Source Analysis for C#是一款C#(不支持VB.NET)代碼規(guī)范檢查工具,前身是微軟內(nèi)部代碼規(guī)范檢查和代碼格式強(qiáng)制工具StyleCop,目的是幫助項(xiàng)目團(tuán)隊(duì)執(zhí)行一系列常用的源代碼格式規(guī)范,它會(huì)根據(jù)預(yù)定義的C#代碼格式的最佳實(shí)踐進(jìn)行檢查,與FxCop不同的是它直接對(duì)源代碼進(jìn)行檢查,且并不提供靈活的規(guī)則設(shè)置,強(qiáng)制開(kāi)發(fā)者使用相同的習(xí)慣進(jìn)行C#代碼的編寫(xiě)。如下圖所示:
3.GhostDoc
GhostDoc 是Visual Studio的一個(gè)免費(fèi)插件,可以幫助開(kāi)發(fā)者生成比較完整規(guī)范的XML格式代碼注釋?zhuān)绻愕拇a遵循微軟類(lèi)庫(kù)開(kāi)發(fā)人員設(shè)計(jì)規(guī)范,由它自動(dòng)產(chǎn)生的注釋就已經(jīng)完全可以很好地表達(dá)開(kāi)發(fā)者創(chuàng)建的方法或者屬性的意圖,無(wú)需手工再進(jìn)行修改。有了這些標(biāo)準(zhǔn)的XML注釋?zhuān)覀兛梢允褂梦④浀奈臋n工具Sandcastle 生成專(zhuān)業(yè)級(jí)別的幫助文檔。如我們有這樣一段代碼:
public bool Add(string item)
{
//......
}
public void AppendHtmlText(IHtmlProvider htmlProvider)
{
//......
}
使用GhostDoc生成的注釋如下:
/// <summary>
/// Adds the specified item.
/// </summary>
/// <param name="item">The item.</param>
/// <returns></returns>
public bool Add(string item)
{
//......
}
/// <summary>
/// Appends the HTML text.
/// </summary>
/// <param name="htmlProvider">The HTML provider.</param>
public void AppendHtmlText(IHtmlProvider htmlProvider)
{
//......
}
官方主頁(yè):
http://www.roland-weigelt.de/ghostdoc/4.Sandcastle
Sandcastle 是微軟發(fā)布的一個(gè)幫助文檔生成工具,它通過(guò)反射程序集中的源代碼和添加代碼到中的XML注釋來(lái)創(chuàng)建專(zhuān)業(yè)級(jí)別的幫助文檔。Sandcastle于2006年推出,它的面世也使得曾經(jīng)列入.NET開(kāi)發(fā)必備十大工具之一的文檔生成工具NDoc的作者Kevin Downs在2006年7月宣告不再投入NDoc Open Source Project的開(kāi)發(fā)。生成的文檔效果如下圖所示:
5.Nunit
NUnit 是為.NET框架生成的開(kāi)放源代碼單元測(cè)試框架。NUnit 使你可以用你喜歡的語(yǔ)言編寫(xiě)測(cè)試,從而測(cè)試應(yīng)用程序的特定功能。當(dāng)你首次編寫(xiě)代碼時(shí),單元測(cè)試是一種測(cè)試代碼功能的很好方法,它還提供了一種對(duì)應(yīng)用程序進(jìn)行回歸測(cè)試的方法。NUnit應(yīng)用程序提供了一個(gè)用于編寫(xiě)單元測(cè)試的框架,以及一個(gè)運(yùn)行這些測(cè)試和查看結(jié)果的圖形界面。
官方主頁(yè):
http://www.nunit.org6.MyGeneration
作為.NET開(kāi)發(fā)人員,手邊有一款代碼生成工具必不可少。舊版.NET開(kāi)發(fā)必備十大工具中,作者曾經(jīng)推薦了非常著名的CodeSmith,不幸的是現(xiàn)在 CodeSmith已經(jīng)商業(yè)化,需要花錢(qián)購(gòu)買(mǎi);幸運(yùn)的是我們又有一款免費(fèi)并開(kāi)源的代碼生成工具選擇MyGeneration,它的功能絲毫不亞于 CodeSmith,完全基于模板引擎進(jìn)行代碼的生成,如下圖所示:
官方主頁(yè):
http://sourceforge.net/projects/mygeneration7.Reflector for .NET
相信大名鼎鼎的Reflector for .NET大家都已經(jīng)用過(guò)了,幾年前它已經(jīng)位于.NET開(kāi)發(fā)必備十大工具榜,現(xiàn)在自然也不能例外。它是一個(gè)類(lèi)瀏覽器和反編譯器,可以分析程序集并向你展示它的所有秘密。使用Reflector for .NET可以瀏覽程序集的類(lèi)和方法,可以分析由這些類(lèi)和方法生成的 Microsoft 中間語(yǔ)言 (MSIL),并且可以反編譯這些類(lèi)和方法并查看 C# 或 Visual Basic.NET 中的等價(jià)類(lèi)和方法。經(jīng)過(guò)多年的發(fā)展,Reflector for .NET已經(jīng)發(fā)展到了5.1版本,并且提供了相當(dāng)豐富的插件,利用這些插件我們可以瀏覽Silverlight程序結(jié)構(gòu)、瀏覽WPF資源文件、與 TestDriven.net集成等。如下圖所示:
8.The Regulator
The Regulator能夠使生成和測(cè)試正則表達(dá)式變得很容易,它允許你輸入一個(gè)正則表達(dá)式以及一些針對(duì)其運(yùn)行該表達(dá)式的輸入。這樣,在應(yīng)用程序中實(shí)現(xiàn)該正則表達(dá)式之前,你便可以了解它將產(chǎn)生什么效果以及它將返回哪些種類(lèi)的匹配項(xiàng)。另外它還提供了正則表達(dá)式庫(kù)管理功能,在線更新正則表達(dá)式庫(kù),可以在 RegexLib.com上搜索需要的正則表達(dá)式,如下圖所示:
官方主頁(yè):
http://sourceforge.net/projects/regulator/9.LINQPad
隨著在.NET Framework 3.5中對(duì)于LINQ的支持,越來(lái)越多的開(kāi)發(fā)者在開(kāi)發(fā)中使用了LINQ to SQL,但是編寫(xiě)LINQ to SQL查詢(xún)似乎又成了一件很麻煩的事情,好在我們還有LINQPad這個(gè)工具,用來(lái)編寫(xiě)LINQ查詢(xún),不僅僅是LINQ to SQL,同時(shí)它也支持LINQ to XML、LINQ to Objects,另外LINQPad是完全免費(fèi)的且無(wú)需安裝,只要下載它的可執(zhí)行文件就可以了。官方主頁(yè):
http://www.linqpad.net/10.NAnt
NAnt 是一個(gè)基于 .NET 的生成工具,與當(dāng)前版本的 Visual Studio .NET 不同,它使得為你的項(xiàng)目創(chuàng)建生成過(guò)程變得非常容易。當(dāng)你擁有大量從事單個(gè)項(xiàng)目的開(kāi)發(fā)人員時(shí),你不能依賴(lài)于從單個(gè)用戶(hù)的座位進(jìn)行生成。你也不希望必須定期手動(dòng)生成該項(xiàng)目。你更愿意創(chuàng)建每天晚上運(yùn)行的自動(dòng)生成過(guò)程。NAnt 使你可以生成解決方案、復(fù)制文件、運(yùn)行 NUnit 測(cè)試、發(fā)送電子郵件,等等。遺憾的是,NAnt 缺少漂亮的圖形界面,但它的確具有可以指定應(yīng)該在生成過(guò)程中完成哪些任務(wù)的控制臺(tái)應(yīng)用程序和 XML 文件。目前NAnt已經(jīng)支持.NET Framework 3.5,它的最新版本是0.86 Beta 1。官方主頁(yè):
http://nant.sourceforge.net/ 總結(jié)
以上工具筆者在原有的.NET開(kāi)發(fā)必備十大工具基礎(chǔ)之上,加以整理,添加了一些新的優(yōu)秀的工具,也許有朋友會(huì)說(shuō),還有很多比這些工具更優(yōu)秀的工具,沒(méi)錯(cuò),是有這樣的工具,但是筆者要說(shuō)的是,上述十個(gè)工具,不僅考慮它的實(shí)用性,有一點(diǎn)更為重要的是,它們都是免費(fèi)的,而且有很多是開(kāi)源的!
為了便于大家對(duì)比,此處列出舊版.NET開(kāi)發(fā)必備十大工具:
代碼段編譯工具:Snippet Compiler
正則表達(dá)式工具:Regulator
代碼生成工具:CodeSmith(已經(jīng)商業(yè)化)
編寫(xiě)單元測(cè)試工具:NUnit
監(jiān)視代碼工具:FxCop
程序集分析檢查工具:Reflector
創(chuàng)建代碼文檔工具:NDoc(已經(jīng)停止開(kāi)發(fā))
生成解決方案工具:NAnt
ASPNET版本轉(zhuǎn)換器
VSNET項(xiàng)目轉(zhuǎn)換器