Programování

Recenze produktu: Visual Studio 2008 postupuje s několika chybnými kroky

Microsoft Visual Studio 2008 (VS08) je aktuální inkarnací dlouhé řady IDE společnosti. Je to přední IDE pro vývoj aplikací s Microsoft .Net Framework a přinejmenším uchazeč o nejlepší IDE C / C ++ hostované na Windows. Visual Studio 2008 se samozřejmě neomezuje pouze na vývoj desktopových aplikací; je také vhodný pro vývoj webových, SOA a aplikačních zařízení. Toto vydání zavádí podporu pro .Net Framework 3.5 a podporuje také další verze .Net Framework. Představuje také Language-Integrated Query, obecný způsob dotazování na všechny druhy dat v C # a Visual Basic, a plnou podporu pro Windows Vista, Silverlight a Windows Presentation Foundation.

VS08 přichází v řadě edic, od bezplatných edic Express Edition až po 10 000 dolarů za vše - Visual Studio Team System 2008 Team Suite. V zásadě jsou edice Express pro vývojáře začátečníky, studenty a fandy; Standard Edition je pro jednotlivé vývojáře; Professional Edition je pro pokročilé vývojáře a ty, kteří pracují v malých týmech.

Týmový systém je primárně určen pro větší týmy. Existují klienti Team System pro vývojáře, architekty, DBA a testery, stejně jako kombinovaný klient pro všechny role s názvem Team Suite. Serverem pro Team System je Team Foundation Server (TFS), který kombinuje týmový portál, řízení verzí, sledování pracovních položek, správu sestavení, vedení procesu a business inteligenci.

V této recenzi se zaměřím na funkce VS08 Professional Edition a dotknu se několika hlavních bodů Team Suite. Nepokusím se diskutovat o Team Foundation Serveru jako takovém, i když od té doby, co jsme jej naposledy zkontrolovali, obdržel řadu vylepšení, jako je nový systém sestavování týmu a přístup na web (viz náhled Visual Studio 2005 Toma Yagera z května 2004).

Instalace a testování

Už nějakou dobu jsem blogoval (zde a zde) o svých zkouškách a trápení s instalací Team Suite. Nic z toho by vás nemělo ovlivnit, pokud se nepokusíte odinstalovat VS08 ze stroje, který má také VS05; Nicméně vytvoření zálohy obrazu vašeho systému před zahájením instalace může být moudré. Očekávejte, že instalace VS08 bude trvat několik hodin, přičemž k zahájení kroku instalace dokumentace je nutný jeden ruční zásah.

Běžel jsem VS08 Team Suite na pracovní ploše XP téměř celý den, pět dní v týdnu po dobu několika týdnů, a snažil jsem se jej použít pro všechny své vývojové práce. Také jsem prošel řadou jednotlivých vývojových scénářů s Professional Edition na notebooku Vista a simuloval několik scénářů skupinového vývoje na virtuálním počítači Team Suite / TFS. Jedna upozornění: Pokud instalujete v systému Windows Vista s povoleným řízením uživatelských účtů (UAC), buďte připraveni několikrát spustit VS08 jako správce, dokud nebudou vytvořeny všechny požadované adresáře; poté by měl být plně kompatibilní s UAC.

Představujeme .NET Framework 3.5

Přál bych si, aby Microsoft v tomto směru šel trochu dále. Je škoda, že Microsoft neposkytl také cílení na .Net Framework 1.1 a snadnou obousměrnou konverzi mezi projekty VS08, VS05 a Visual Studio .Net 2003.

.Net Framework 3.5 má řadu nových knihovních a jazykových funkcí tříd. Patří mezi ně Language-Integrated Query (LINQ), vylepšení související s Webem 2.0 a SOA, integrovaný pracovní tok, protokoly peer-to-peer a podpora Microsoft Office.

Nástroje pro všechny tyto možnosti najdete ve VS08. Například VS08 Standard a vyšší mají podporu LINQ v jazyce Visual Basic .Net a Visual C #, včetně návrháře relací objektů, nástroje příkazového řádku SQLMetal, editorů kódu s vědomím LINQ a podpory debuggeru.

Jazykově integrované dotazy s LINQ

Několik komponent a poskytovatelů LINQ dodávaných ve VS08, včetně LINQ to Objects (řetězce, reflexe a adresáře souborů), LINQ pro XML a LINQ pro ADO.Net. LINQ to ADO.Net zahrnuje dvě komponenty: LINQ to DataSet a LINQ to SQL. Ambicióznější ADO.Net Entity Framework a LINQ to Entities jsou ne součástí VS08, ale může se dodat později v tomto roce jako doplněk.

Testoval jsem LINQ to SQL v C # proti databázi SQL Server 2000. Objektově-relační diagram v tomto obrazu obrazovky byl automaticky generován přetažením tabulek z databáze. Automaticky byla vygenerována také sada volatelných tříd vyhovujících LINQ.

Object Relational Designer fungoval dobře při vytváření tříd C # ze schématu databáze a IntelliSense fungoval dobře, když jsem psal dotazy LINQ. Na druhou stranu ruční psaní dotazů LINQ proti třem souvisejícím tabulkám posunulo hranice mých rodících se dovedností LINQ a já jsem toužil po ekvivalentu LINQ grafického návrháře dotazů SQL VS08. Nikdy jsem nepřišel na to, jak napsat ekvivalent LINQ dotazu SQL „SELECT DISTINCT“.

IntelliSense, refaktoring, testování jednotek a metriky

Když jsem pracoval na tomto malém projektu, zjistil jsem, že funkce C # refaktoringu (zahrnutá v Professional a výše) fungovala dobře a docela hladce. Při úpravách jazyka C # může programátor využít výhody automatického refaktoringu, jak je znázorněno v rozbalovací nabídce tohoto obrazu obrazovky. K dispozici je plná podpora technologie IntelliSense pro LINQ (viz kód, který začíná „var qAV“ na obrázku). Metriky kódu (ve spodní části obrázku) se počítají pouze pro spravovaný kód.

Také jsem zjistil, že metriky kódu pro spravovaný kód (obsažené ve VSTS Developer a Team Suite) fungovaly docela dobře. Nejsem si jistý, že souhlasím se způsobem, jakým se metriky počítají pro kód generovaný z návrhových ploch, ale určitě vidím celkovou užitečnost metrik, zejména v kontextu týmových projektů spravovaných pomocí TFS.

Před lety jsem používal metriky, jako je cyklomatická složitost (míra počtu lineárně nezávislých cest přes programový modul), aby mi pomohl řídit velký C projekt s tuctem programátorů. Jsem rád, že je tato technologie zavedena ve VS08 pro spravovaný kód.

Jsem však zklamaný, že metriky kódu a refaktorování kódu nejsou k dispozici pro nespravované projekty C ++. Na druhou stranu mohou projekty C ++ používat velmi pěkný prohlížeč hovorů: Poskytuje kompaktní pohled na další funkce, které volají danou funkci, a na řádky kódu, které volání provádějí.

Jsem rád, že projekty jazyka mají metriky kódu spolu s neuvěřitelně stručnou syntaxí, skvělým IntelliSense a mnoha fragmenty kódu. Jsem zklamaný, že projekty jazyka nemají refaktorování kódu, i když tuto funkci lze přidat pomocí jednoho z několika doplňků třetích stran.

S potěšením vám oznamuji, že testování jednotek je nyní součástí Professional Edition. (Byla to funkce VSTS ve VS05.) Můžete vytvářet testy jednotek a testovací projekty pro C #, Visual Basic a spravovaná řešení v C ++. Bylo možné to udělat před použitím bezplatného open source programu NUnit, ale je to o něco hezčí, když máme integrovaný integrovaný IDE s IDE.

IntelliSense pro JavaScript byl jedním ze slíbených vylepšení ve VS08. Je to tam, ale za cenu: Ačkoli byla přidána podpora pro druh JavaScriptu, který se používá k psaní stránek ASP.Net AJAX a Silverlight, podpora pro úpravy VBScript a Classic ASP byla zrušena. Jelikož stále udržuji ročník Vintage ASP z roku 1999, byl jsem více než trochu naštvaný, když jsem zjistil, že VS08 odvedl horší práci se stránkami ASP než VS05, nebo dokonce než Visual InterDev 6. Microsoft uvažuje o obnovení této funkce pro aktualizaci Service Pack na VS08. Lidé, kteří stále udržují stránky Classic ASP, by zatím neměli opouštět své stávající nástroje.

WPF, Silverlight a Web 2.0

VS08 podporuje Silverlight, bohatou technologii internetových aplikací, která zahrnuje podmnožinu WPF, jakmile nainstalujete Silverlight SDK a Silverlight Tools pro VS08. S vývojem aplikací Silverlight s beta verzí VS08 jsem měl dobré zkušenosti. (Moje recenze na Silverlight samotnou viz „Microsoft Silverlight konkuruje Flash, AJAX.“)

S výjimkou zrušené podpory pro VBScript a Classic ASP je povrch návrhu webové stránky ve VS08 lepší než ve VS05; je velmi podobný Expression Web a pěkně podporuje CSS. Designové povrchy a projekty pro ASP.Net AJAX, Windows Communications Foundation a Windows Workflow Foundation, které byly bezplatnými doplňky k VS05, se přesunuly na základní produkt VS08.

Cíle pro kancelář a inteligentní zařízení

VS08 může vytvořit spravovaný projekt Smart Device pro čtyři cílové platformy a dvě verze .Net Compact Framework v C # a Visual Basic. V C ++ může VS08 vytvářet nespravované projekty Smart Device pomocí knihoven Win32, ATL (Active Template Library) a MFC (Microsoft Foundation Class); tato schopnost bývala v samostatné sadě nástrojů Windows CE.

Drobnosti

Microsoft SQL Server Compact 3.5 je nová lokální databáze, která je dostatečně malá na to, aby se nasadila na inteligentních zařízeních. Vývojáři jej mohou používat v samostatných i příležitostně propojených scénářích. Když se pro ukládání do mezipaměti místní databáze používá SQL Server Compact, postará se o pravidelnou synchronizaci mezi místní kompaktní databází a vzdálenou databází služba Microsoft Synchronization Services pro ADO.Net.

Pokud je detekována instalace Team Foundation Serveru, Visual Studio se s ním může integrovat. To umožňuje programátorovi přijímat pracovní položky a provádět ohlášení a manažerovi vytvářet zprávy, jako je ten, který je zde zobrazen.

Team System má řadu vylepšení. Jednou velkou položkou v TFS je nový systém Team Build; další je přístup na web. Architekti mají nového návrháře systému shora dolů a systém architektonických rolí. Vývojáři mají nový systém metrik kódu, o kterém jsem hovořil dříve, a také lepší nástroje pro analýzu a výkon kódu. DBA mají analýzu kódu T-SQL, generátor dat a nástroje refaktoringu. Testeři mají lepší nástroje a ověřovací pravidla, včetně agenta Test Load.

Visual Studio má aktivní ekosystém nezávislých dodavatelů softwaru. Většina z těchto dodavatelů vyrábí moduly plug-in a ovládací prvky, které vylepšují Visual Studio. Nové prostředí Visual Studio umožňuje těmto prodejcům dodávat samostatné verze svých produktů, které nevyžadují, aby si zákazník koupil vlastní Visual Studio. Oceňuji tento krok společnosti Microsoft: Myslím, že to dělá ekosystém zdravějším, protože umožňuje nezávislým dodavatelům softwaru, aby byli konkurenceschopnější při relativně nízkých nákladech pro Microsoft.

Celkově je Visual Studio 2008 upgradem, který bude chtít provést většina vývojářských obchodů zaměřených na Microsoft, aby se vyvíjely s novými technologiemi, jako jsou WPF, WCF a WF, a pro nové platformy, jako je Windows Vista. Není to však upgrade, který se dá snadno udělat po částech; Po úspěšné aktualizaci samotného projektu bych většině obchodů doporučil upgradovat všechny vývojáře projektu. Podle mých zkušeností byl upgrade projektů z VS05 na VS08 relativně bezbolestný a ve způsobu přepsání kódu zahrnoval jen velmi málo.

Pro obchody, které stále udržují weby Classic ASP, doporučuji instalovat VS08 vedle sebe s VS05, alespoň do doby, než bude obnovena funkce pro úpravy Classic ASP a VBScript. A pro obchody, které stále používají Visual Studio .Net 2003 nebo starší verze kvůli vnímaným problémům s VS05, navrhuji vážně vyhodnotit VS08.

Až na několik výjimek zjistí uživatelé na všech úrovních sady Visual Studio vydání z roku 2008 vylepšené. Je to silný upgrade a pevný základ pro budoucí vývoj.

Scorecard Hodnota (10.0%) Schopnost (30.0%) Výkon (15.0%) Snadný vývoj (30.0%) Dokumentace (15.0%) Celkové skóre (100%)
Microsoft Visual Studio 2008 Professional a Microsoft Visual Studio Team System 2008 Team Suite9.010.09.09.09.0 9.3

Copyright cs.verticalshadows.com 2024

$config[zx-auto] not found$config[zx-overlay] not found