• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    提高你的開發效率

    發布: 2008-2-03 16:57 | 作者: Bill Wagner | 來源: 發賽特技術網 | 查看: 47次 | 進入軟件測試論壇討論

    領測軟件測試網 Visual Studio .NET 2003增加了一些新工具和新功能,它們可以提高你的開發效率,使你可以更快地完成更多的任務。

      By Bill Wagner

      技術工具箱:VB.NET、C#、ASP.NET

      Visual Studio .NET 2003并不像VS.NET的最初版本那樣有很強的創新性(除非你用的是C++,稍后我會對此做更多的講述),但其新的功能對提高開發效率卻大有幫助。

      VS.NET最初版本強調的是可以讓你創建Web services和Internet應用程序;VS.NET 2003在擴展這些功能的同時,引進了移動性(見圖1 )。該版本最顯著的特點是增加了適用于Pocket PC和其它與Windows CE相關的設備的.NET Compact Framework(CF)。VS.NET 2003還增加了ASP.NET移動控件包(即以前我們所說的Microsoft Mobile Internet Toolkit),它可以讓我們為移動設備創建基于Web的應用程序。

      

      				圖1.

      圖1. 強調開發效率

      VS.NET 2003在安全性和可用性方面也有很大的改進。例如,Microsoft改進了.NET Framework Class Library來支持Microsoft的可信賴計算計劃(computing initiative)。所以來源不可靠的程序是不能訪問部分.NET Framework的,而且如果程序是從Internet或類似不可靠的地方下載的,那么它們在訪問機器資源時也會有權限限制。這些功能使你可以更容易地為任何設備創建更安全可靠的基于Internet的程序。

      .NET的Web service體系——或者更明確地說,WSDL.exe——也有一個很小但很有用的改進:可以為一個Web service命名名字空間。這就意味著,你在機器上測試所用的所有服務器代理都可以有一個另外的名字,而不是“localhost”。在用于Oracle和ODBC的數據提供者方面,ADO.NET也有了改進。從VS.NET 2003工作區(workspace)的Server Explorer可以看到這些新的提供者。另一個好處是:該版本的VS.NET 2003明確說明并行部署是可行的,即,類庫的1.0版本和1.1版本可以并存在同一臺機器上,你甚至可以將1.0框架作為用VS.NET 2003構建的項目的目標框架。

      本文從總體上講述了Visual Studio .NET的新增功能,以及它的兩個開發語言:C#和VB.NET(見工具條“ C#使開發更容易 ”和“ VB.NET填補了空白 ”)。然而,任何.NET語言最顯著的變化則是體現在C++中的,不管是其托管版本還是本地版本。一個最重要的變化是,C++現在更接近ANSI標準了。而且,托管C++與VS.NET IDE的整合更好了。除了用#import指示符外,你可以用Solution Explorer包含對項目的引用。托管C++開發人員不再需要手動地構建窗體了;窗體設計器被整合到了托管C++項目中,就同它整合到C#和VB.NET項目中一樣。

      其它的新功能提高了程序員的開發效率。IntelliSense有很大的改進:你可以自動地為接口和事件方法插入stubs,當你添加它們時,IntelliSense會建議對它們進行覆蓋。在IDE中也有很多新的、很小的但卻很好的功能,它們可以讓你用更少的時間寫更多、正確度更高的代碼。在此,我就不詳細講述所有功能了,但我想,你一定會對這些新功能有很多感受的,就像我在過去幾個月中試用Beta版所體驗的那樣。

      移動性

      Microsoft說過移動設備是未來的主流,這一斷言從來沒有動搖過。因此,VS.NET 2003提供了工具使我們可以更容易地在Pocket PC、智能設備以及其它Windows CE設備上構建應用程序。.NET Compact Framework包含.NET Framework的一個子集,以及特別針對Pocket PC設備的幾個新的類。

      特殊的CF類可以讓我們創建在Pocket PC和類似Microsoft設備上運行的應用程序。這些類中最有用的類位于System.Data.SQLServerCE名字空間中。這些類可以讓我們對SQL Server CE(SQL Server的Pocket PC版本)做各種操作。用過SQL Server的人對所有這些類都會很熟悉。其中最重要的一個新的類是SQLCeReplication類,它可以讓你將移動數據庫與企業數據庫同步。其它CF特有的類可以讓你與文本輸入面板和Pocket PC設備附帶的卡通訊。

      Compact Framework在兩方面對規則的.NET Framework做了調整。首先(最明顯的),服務器組件(ASP.NET和相關的程序集)不是CF的一部分。第二,通過提供較少的可重載的.NET類成員函數,Microsoft減小了footprint。這些步驟是一個總體計劃的一部分,目的是使我們可以盡可能多地保留其功能,同時在目標設備上創建最小的footprint。

      CF的最大的好處是,它可以讓你通過最少的工作將用戶移到一個全新的平臺,同時保留大量的企業商業邏輯。注意,這并不是說,你可以通過簡單地運用CF就將應用程序重定向到Pocket PC上了。你需要重新設計用戶界面,從而解決屏幕更小、沒有鍵盤和其它限制性問題。但比較好的一點是,運用.NET Framework,大量的商業邏輯可以很容易地移植到Pocket PC上。這對日常編程工作沒有很大的直接影響,毫無疑問,企業希望增強這種移植能力。

      如果你想讓新的、豐富的應用程序在目的Pocket PC或Windows CE設備上運行,Compact Framework會很適合。但有時候,你可能更喜歡在這些設備(或不支持Windows的設備)上運行小的基于Web的應用程序,如一個Palm設備或可以上網的移動電話。在這種情況下,你可以利用ASP.NET移動控件。移動控件,同相應的ASP.NET控件一樣,它們根據瀏覽器和目的移動設備的不同會有不同的呈現方式。大量的移動控件可以為移動Web應用程序提供類似的ASP.NET功能,包括文本框、日歷、列表、移動表單(mobile form)、標簽和圖像。VS.NET也包含另外一些控件,它們沒有相對應的ASP.NET控件。例如,PhoneCall控件,它可以讓你顯示并呼叫基于Web的手機用戶的電話號碼。

      從你開始使用新的VS.NET 2003起,ASP.NET移動控件(同.NET CF一樣)就不會影響你的日常生活。隨著時間的推移,這些控件可以讓你毫不費力地將它們用于針對移動設備的應用程序中。

      創建更安全的應用程序

      并不是每個人馬上就需要或可以利用移動功能,但安全性功能的改進則會影響到每個人。VS.NET下的.NET 1.1 Framework提供了更好的安全性和更好的方法使我們可以寫更安全的應用程序。一個主要的變化是,不完全可靠的應用程序是不能訪問部分.NET Framework或其它共享的程序集的。例如,從Intranet或Internet下載的任何程序集比從本地機器直接下載的代碼的權限都要低。這就意味著,.NET應用程序會更安全,即使從遠程站點下載它們。比如說,不完全可靠的程序集就不能訪問System.IO名字空間中的任何類。這一點會很好,因為你從遠程地方執行的程序集就不能訪問你的機器上的文件。注意,這些變化就意味著,作為一個開發人員,你有另外的責任,如需要緊記如何部署程序集、如何處理可能出現的安全性被破壞的問題。

      VS.NET 2003還可以使我們在開發用機上以非管理員的身份更容易地開發和調試.NET應用程序。確信當運行應用程序的用戶不是管理員時,你的應用程序可以正常運行是很重要的。要實現這一點的最好的方法就是以非管理員的身份進行開發。這也同樣適用于開發傳統的臺式應用程序和ASP.NET應用程序。最初的VS.NET使這種方式的開發很難實現;目前,只有當你需要創建本地COM對象時,還存在這樣的問題。構建并運行一個COM對象需要你注冊它,而注冊COM對象仍需要管理員權限。這就是說,你需要修改程序設置,以管理員身份運行程序。不管怎樣,對開發人員來說,VS.NET 2003都有了很大的改進,因為在創建除COM對象之外的任何對象時,你都不再需要以管理員身份登錄了。用戶并不是以有限權限運行應用程序的第一個人了。

      移動性和安全性是新版VS.NET的重點,不過Microsoft對.NET Framework的其它方面也做了改進。1.1版本包含了Oracle和ODBC的數據提供者,以及一個FolderBrowser對話框。你不再需要用Platfrom Invoke來得到Win32 API,然后選擇或創建一個文件夾了。該組件的用法類似于OpenFileDialog。

      

      				圖2.

      圖2. 繪制非矩形窗口

      另一個改進是,.NET 1.1 Framework可以讓我們創建非矩形的窗體。過去要實現這一點是很難的,大多數開發人員都避免實現該功能,即便該功能對一個特定UI很有必要時也是如此,F在,你可以創建一個圖像,它可以定義你需要的窗體的形狀和背景,然后設置正確的屬性(見 圖2 )。

      將1.0版本作為目的框架

      在發布VS.NET 1.0時,Microsoft宣稱DLL Hell將不再出現,它將開創一個新紀元:各種版本的應用程序,甚至是VS.NET版本的應用程序都可以并存。VS.NET 2003支持該想法。幾個月來,我在同一臺機器上運行了VS.NET 2003 beta版和最初版本的VS.NET。每個版本用的是它自己的框架。

      這一點非常棒,但仍會有一些版本問題。例如,假設你的用戶沒有很快地升級框架來匹配需求。只要你避免在框架中運用1.1版本的任何新功能,你就可以針對1.0框架來構建你的程序集。VS.NET可以讓你在創建應用程序時,針對Framework 1.1、Framework 1.0或兩者兼顧。注意,這些設置不會改變程序的可執行性,而是會改變你的應用程序的配置文件。配置文件指定了要加載的每個.NET Framework程序集的版本。

      遺憾的是,如果你創建的應用程序同時兼顧了Framework 1.0和Framework 1.1版本,那么你就需要做更多的測試。如果應用程序兩者兼顧,那么在設計時,VS.NET用Framework 1.1構建應用程序。在運行時,如果VS.NET用Framework 1.0配置應用程序,就會出錯。如果應用程序在Framework 1.0上運行時運用了1.1的功能,那么就會出現一個運行錯誤。幾個月來,我一直運用該功能創建目的框架為Framework 1.0的應用程序。的確很有用,只要你確保程序只用Framework 1.0。測試應該會發現任何問題,但在發布任何軟件前,你應該在只安裝了Framework 1.0的機器上運行全套的測試套件。

      VS.NET 2003延續了Microsoft對推動企業開發所做的努力。它的一個副作用就是程序變得越來越大了。例如,我有一個解決方案,它包含了40多個不同的項目。在處理這種類型的解決方案時,最初版本的VS.NET有時侯會有問題。VS.NET 2003解決了該問題,現在,當你處理一個特定的解決方案時,可以更容易在項目之間進行切換。VS.NET 2003也可以記錄你現在正編輯的是哪個項目。這就意味著,運用當前項目的任何命令(如Find in Files)都只對當前項目起作用。如果你想自己設置當前項目,可以關閉該功能。只需要導航到Tools|Options,然后在Envrironment | Projects and Solutions中清除“Track Active Items in Solution Explorer”項就可以了。

      另外一個很酷的功能是引用Web命名。假設你在開發機器上構建了一個Web service和一個Web service客戶端,目的是可以在其它地方部署該Web service。最初的VS.NET版本會為這些Web services創建一個名為“localhost”的名字空間。VS.NET 2003可以讓你給這個Web service引用一個更有意義的名字。

      的確,移動性、安全性以及對框架的其它改進都很好。但我最喜歡的新功能是接口的代碼生成功能。在你使用C#或VB.NET時,如果聲明了對某個函數的支持,IDE就會為它添加stubs。在C#中,你需要按Tab鍵。然后VS.NET會添加stubs并將它們放在一個區域中。在VB.NET中,當你編寫了Implements語句后按Enter時,VS.NET 2003就添加了方法。當你在編寫大的接口或來源于其它接口的接口時,跟蹤遺漏了哪些函數或輸錯了哪些函數時,該功能就可以節省許多編譯周期。

      當然,最終的問題是:你需要VS.NET 2003嗎?該版本不像最初版本那樣很具創新性,但VS.NET 2003中引進的許多功能可以讓你節省很多時間和精力,可以讓你將更多的精力集中在你想創建的解決方案上,而不是你用來創建該解決方案的代碼和環境上。例如,與事件處理程序結合在一起的接口自動生成代碼功能和C#中的覆蓋功能每天就可以節省我幾個小時的代碼輸入時間。另外,增強的安全性能對客戶來說也是個很好的功能,如今,沒有人愿意帶來任何病毒危險。即使你不會立即運用移動性功能,但在不久的將來你一定會需要該功能的。

      關于作者:

      Bill Wagner是 SRT Solutions 的Windows技術專家。他是 Visual Studio Magazine 的撰稿編輯,也是 The C# Core Language Little Black Book 一書的作者,這是一本C#開發人員的高級參考書。在16年的軟件開發實踐中,Bill在許多項目中都是重要的開發人員。他曾為工程和商務應用程序、桌面和Web環境開發過軟件。他在2D和3D圖象和多媒體軟件方面也很有經驗,包括為The Lion King Animated Storybook開發的視頻回放引擎。他的聯系方式是 wwagner@SRTSolutions.com 。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 開發


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>