10年工作經(jīng)驗(yàn)老程序員推薦的7個(gè)開(kāi)發(fā)類(lèi)工具
做.NET軟件工作已經(jīng)10年了,從程序員做到高級(jí)程序員,再到技術(shù)主管,技術(shù)總監(jiān)。見(jiàn) 證了Visual Studio .NET 2003,Visul Studio 2005, Visual Studio Team System 2008, Visual Studio 2010 Ultimate,Visual Studio 2013一系列近5個(gè)版本的變化與親自使用。每一個(gè)版本都有深刻有意義的變革。Visual Studio .NET 2003 極力推廣的Web Services雖然沒(méi)有很流行,但是它開(kāi)發(fā)ASP.NET的編譯模型很快得到公司的技術(shù)部認(rèn)可,完全重寫(xiě)了原來(lái)的ASP系統(tǒng)。
很幸運(yùn)工作以來(lái)一直是.NET + SQL Server 的開(kāi)發(fā)工作,其它比如Oracle或是Android Java類(lèi)的技術(shù)工作并沒(méi)有很長(zhǎng)時(shí)間的經(jīng)歷,所以我推薦的工作就側(cè)重于.NET + SQL Server類(lèi)的工具。
1 ReSharper 7.1
現(xiàn)在電腦開(kāi)發(fā)人員硬件的標(biāo)準(zhǔn)配置是i5+8G,在內(nèi)存已經(jīng)足夠用的情況下,推薦安裝好Visual Studio后***個(gè)要安裝的插件就是
ReSharper,這個(gè)軟件的幾百個(gè)功能點(diǎn)都很實(shí)用。***版本的ReSharper是ReSharper.2015.1.Ultimate.9.1.0,支持Visual Studio 2015。
2 .NET Reflector
著名的.NET Reflector包含在此工具箱中。.NET Reflector我常常用來(lái)查看編譯過(guò)的程序集,看命名空間是否規(guī)范,看類(lèi)型的成員命名是否合理,如下圖所示。
作為一個(gè)多年從事開(kāi)發(fā)的程序員,看到代碼中包含WindowsApplication1,button1, panel1之類(lèi)的命名總會(huì)是非常的反感。這樣沒(méi)有意義的命名,給程序代碼的維護(hù)人員帶來(lái)諸多的痛苦。
3 SQL Prompt 6
安裝好SQL Server 后的***個(gè)要做的事就是安裝SQL Prompt插件,這個(gè)工具擴(kuò)展了SQL Server Managment Studio中書(shū)寫(xiě)SQL代碼的智能提示,讓書(shū)寫(xiě)SQL語(yǔ)句更方便,快速,準(zhǔn)確。
圖中是經(jīng)典的SQL Prompt代碼智能提示窗口。當(dāng)鼠標(biāo)旋停在一個(gè)對(duì)象(表名,視圖名稱(chēng),字段名)上時(shí),SQL Prompt會(huì)顯示這個(gè)對(duì)象的屬性。比如上圖中所示,顯示了當(dāng)前Part表的所有字段的腳本。
SQL Prompt常常包含在SQLToolbelt工具包中,這個(gè)系列的軟件包工具都很實(shí)用。
4 SQL Compare
做數(shù)據(jù)庫(kù)開(kāi)發(fā)過(guò)程中,常常會(huì)添加一些腳本,當(dāng)把這些腳本部署到其它電腦中時(shí),用手工增加腳本的方法過(guò)于原始又容易出錯(cuò),于是SQL Compare的出現(xiàn),完全滿足了我的需求。
如上圖所示,在開(kāi)發(fā)的電腦上用SQL Server Management Studio修改表或視圖定義,當(dāng)需要把這個(gè)腳本部署到另外一個(gè)數(shù)據(jù)庫(kù)或電腦中時(shí),運(yùn)行此工具,選擇兩邊的數(shù)據(jù)庫(kù)作一個(gè)計(jì)較即可完成。
5 Code Smith 6.5
工作中經(jīng)常會(huì)遇到一些相似的代碼編寫(xiě)工具,會(huì)考慮將這些共同的重復(fù)的代碼封裝成Code Smith模板文件。將可變部分提取為參數(shù),運(yùn)行時(shí)選擇或輸入?yún)?shù)即生成需要的代碼。
6 .NET Reactor
經(jīng) 常要給客戶或是準(zhǔn)客戶做一些例子代碼,又不想將代碼完全給未付款的客戶。對(duì)于.NET的程序集格式文件,把沒(méi)有經(jīng)過(guò)混淆的文件傳送給客戶,即可認(rèn)為將源代 碼給客戶。常常是與客戶打交道時(shí),客戶還沒(méi)有付款,程序又不能不發(fā)給客戶測(cè)試,只好用.NET Reactor加殼混淆處理。這個(gè)也不是完全有作用,現(xiàn)在去殼反混淆的工具非常多,準(zhǔn)確率也很高。
做這一步動(dòng)作也只是為了讓代碼被反編譯之后,閱讀相對(duì)困難。不過(guò),優(yōu)質(zhì)的客戶是預(yù)付款之后,再提供程序或是技術(shù)支持,這個(gè)就沒(méi)有加密混淆的必要了。
7 LLBL Gen Pro
接 觸LLBL Gen Pro有6年多了,從一開(kāi)始的不熟悉,困惑,到***完全接受,并且能用這個(gè)工具獨(dú)立帶領(lǐng)團(tuán)隊(duì)開(kāi)發(fā)項(xiàng)目,深深知道ORM對(duì)企業(yè)應(yīng)用開(kāi)發(fā)的意義重大。ORM生 成表對(duì)應(yīng)的映射的實(shí)體,通過(guò)對(duì)實(shí)體的操作,實(shí)現(xiàn)OOP面向?qū)ο缶幊?,代碼的可維護(hù)性,可閱讀性方面有了極大的提升。在任何時(shí)候,我都會(huì)將這個(gè)工具作為*** 工具推薦給未接觸ORM開(kāi)發(fā)的朋友。