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