HAVIT Knowledge Base

Vývoj webových aplikací, .NET, SQL, návrh
Welcome to HAVIT Knowledge Base Sign in | Join | Help
-
Home Články Forums Obrázky Soubory

Vývojářské nástroje

Visual Studio, WDE, utility, tools

Moje oblíbené vývojářské nástroje (Robert Haken) - aktualizováno

Protože velmi často na kurzech i jinde dostávám otázku na vývojářské nástroje, které používám, rozhodl jsem se sumarizovat své nejoblíbenější vývojářské nástroje a utility:

Microsoft Visual Studio 2005, 2008

Základem veškeré vývojářské práce je samozřejme Visual Studio. Projekty už máme jenom .NET 2.0+, takže si vystačím bohatě se samotným VS2008, s jeho refaktoringem a snippety. Žádné doplňky typu ReSharper už nepoužíváme.

Používáme Web Application Project (WAP) a Web Deployment Project (WDP). První je již součástí  součástí VS2008, druhý je ke stažení z Microsoftu.

Na webových projektech pracuji výhradně v režimu source-view, design-view používám jen na kurzech, kde to laby/cvičení/dema vyžadují. V zásadě nevyužívám ani drtivou většinu wizzardů a jiných RAD pomůcek Visual Studia, vše si dělám ručně. Pro Visual Studio jsem si sehnal/udělal pár maker, které usnadňují práci, např. ExpandAll, či CollapseAll pro outlining, či vypisování <br/> na Ctrl+Enter, atp. Mám i vlastní snippety a vytvořil jsem i vlastní solution template (Guidance Automation Extensions + Toolkit).

Visual Studio je pro mně v zásadě velmi chytrým notepadem.

SQL Server - Server Management Studio, Profiler, Database Tuning Wizzard

Pro úplnost uvádím, že pro práci s SQL Serverem používám mimo samotného Visual Studia i běžné nástroje, s kterými SQL Server přichází.

Neocenitelným pomocníkem je zejména SQL Server Profiler, který umožňuje přesně monitorovat veškerý provoz, který se na SQL serveru odehrává (zejména veškeré T-SQL příkazy). Je to v podstatě obdoba Fiddleru pro SQL provoz, i když Fiddler monitoruje stranu klienta, kdežto Profiler monitoruje server.

Database Tuning Wizzard je nástupcem starého známého Index Tuning Wizzardu a při správném použití je velmi dobrou inspirací pro ladění výkonu databází.

Pro běžnou práci s SQL si vystačím s Microsoft nástroji. Žádné IDE či designer třetí strany nepoužívám.

Red Gate SQL Compare, SQL Data Compare

SQL Compare a SQL Data Compare jsou dvě utility od Red Gate, které velmi usnadňují synchronizaci databází, např. mezi vývojářskou databází a produkční databází, včetně možnosti uložení updatovacích skriptů. SQL Compare porovnává a synchronizuje databázová schémata, SQL Data Compare porovnává a synchronizuje data. Použití je velmi snadné. Red Gate má i několik dalších užitečných nástrojů pro práci s databázemi, nicméně tyto dva mi zatím prokazují největší službu.

RedGate .NET Reflector

Nástroj, který umožňuje prohlížet a analyzovat zdrojový kód jednotlivých assembly, včetně samotného .NET Frameworku (decompiler).

Neocenitelný je pro mě zejména v situacích, kdy .NET dokumentace není přesná, nebo úplně chybí. V situacích, kdy se chci podívat, jak ta která konkrétní funkčnost v .NET Frameworku konkrétně pracuje, kdy se co přesně děje v life-cycle controlu či stránky, či v situacích, kdy se chci inspirovat, jak kterou funkčnost implementují v Microsoftu.

Někdy bohužel člověk dospěje i k nějakému tomu bugu v samotném .NET Frameworku. Je pak samozřejmě ideální takový bug co nejlépe lokalizovat a reportovat.

.NET Reflector je zdarma ke stažení.

Microsoft Internet Explorer Developer Toolbar (DevToolBar)

Doplněk do Internet Exploreru, který zahrnuje např. DOM Inspector, outlining, validaci, resize, čištění cache či cookies, či pravítko. Prostě spousta užitečných pomůcek, které usnadňují práci se samotným HTML kódem a designem stránek, bez přímé vazby na ASP.NET.

Microsoft Internet Explorer Developer Toolbar (DevToolBar) je zdarma ke stažení, Internet Explorer 8 ho již v sobě zahrnuje pod pojmem Vývojářské nástroje.

Microsoft Fiddler

Fiddler je "HTTP Debugging Proxy" - v podstatě tedy po spuštění monitoruje veškerý HTTP provoz na Vašem počítači a v plných detailech ho relativně přehledně zobrazuje, každý jednotlivý request. Fiddler se mi hodí vždy, když chci ověřit, jaké přesně hlavičky či formulářová data se posílají při jednotlivých requestech, při ladění problémů s cookies, s client/proxy cachingem, atp. Hodí se pro ladění HttpWebRequest/HttpWebResponse, pro ladění webových služeb, atp.

Microsoft Fiddler je zdarma ke stažení a lze ho doplňovat o spoustu plug-inů.

Viz též článek Fiddler: Zachytávání lokálního ASP.NET Web Development Serveru.

Subversion (SVN) - TortoiseSVN, VisualSVN

Pro správu zdrojových kódů používáme Subversion, konkrétně TortoiseSVN (Open Source) s doplňkem VisualSVN ($49/lic), který usnadňuje použití z prostředí Visual Studia.

Oproti SourceSafe přináší SVN například atomické operace, kdy verzí v repository je vždy konzistentní snapshot celé solution, nikoliv jen změť jednotlivých verzovaných souborů. Dále se pak pracuje principem Update/Commit namísto Check Out/Check In. Update zaktualizuje lokální kopii solution o změny, které jsou v SVN (vyvolává se ručně) a Commit naopak publikuje mé změny do repository. Soubory, které měním, se nikde nezamykají, v případě konfliktů je v 95% úspěšný automatický Merge, výjimečně je nutno řešit konflikty ručně pomocí nějakého vizuálního merge-nástroje (sestavit z dvou konfliktních verzí jeden soubor).

Microsoft Team Foundation Server nepoužíváme, protože nám bohatě stačí se starat o Exchange a skákat kolem dalšího kolosu se nám už nechce.

CruiseControl.NET, MSBuild

Pro řízení continuous-integration procesu používáme CruiseControl.NET, pro který máme vytvořené skripty tak, že přidání nového projektu je otázkou Copy+Paste asi 4 konfiguračních řádek v XML souboru. CC.NET si pak sám vyzvedává nové revize ze Subversion, provádí build (používáme MSBuild) a výsledek dává do složek, odkud jej nasazujeme ručně (k přímému deploymentu jsme se zatím neodvážili).

CruiseControl.NET je bezplatný.

axosoft OnTime

OnTime je jednoduchý a přehledný feature/bug/task-tracking systém, tedy systém pro správu požadavků, bugů a úkolů na softwarových projektech. Osobně mě přesvědčil zejména jednoduchým ovládání a hierarchickým členěním projektů, nechybí ale ani webové rozhraní, custommer portal, VS-integrace atp.

Oproti Microsoft Team Foundation Serveru je samozřejmě o mnoho jednodušší a prostší, nicméně právě pro jeho jednoduchost jsem si ho oblíbil. Pokud máte tedy menší vývojářský tým a TFS je pro Vás drahý kanón na vrabce, pak dávám OnTime ke zvážení.

OnTime je placený, nicméně verze pro jednoho uživatele je k volnému užití a i s tou se dá v malém týmu udělat hodně muziky. Přesněji řečeno - jakákoliv evidence je zde lepší než žádná evidence. Koukal jsem, že existuje nyní i edice Express, která za pár korun (akce je tuším $5) taky umí hodně.

EC Software Help & Manual

Pro tvorbu uživatelských příruček používám aplikaci Help & Manual. Sice jsem původně toužil po on-line editoringu, ale nakonec se tento nástroj ukázal jako nejlepší.

Z jedněch zdrojových dat v podobě XML, které lze navíc pohodlně verzovat v SVN, se generují výstupy do různých podob. Aktivně používám výstup do HTML a PDF (příklad viz manual.goran.cz), zvládá ale mnohod dalších (HLP, CMH, WebHelp, e-Book, atp.). Připravené šablony dávají rozumnou formu výstupu, kterou lze následně modifikovat. S aplikací se pracuje pohodlně a rychle.

nDoc & Microsoft Sandcastle

nDoc je legendární generátor dokumentace, který na základě XML komentářů ve Vašem zdrojovém kódu vytvoří vývojářskou dokumentaci Vašeho projektu v podobě prakticky identické s SDK dokumentací .NET Frameworku.

nDoc je zdarma ke stažení, bohužel však jeho autoři vývoj ukončili, a tak je spolehlivě použitelný jen pro .NET 1.1 projekty. Pro .NET 2.0 projekty existují sice určité úpravy nadšenců, kteří už to bez něj nemohli vydržet a pro .NET 2.0 úpravy udělali, nicméně příliš spolehlivé to není a nepodoruje to ani některé nové vlastnosti .NET 2.0 jazyků (např. generika).

Naštěstí tlak vývojářské komunity nevydržel ani Microsoft, a tak uvolnil k volnému použití svůj vlastní interní nástroj pro generování dokumentace - codename Sandcastle. Sandcastle je zdarma ke stažení, a i když je to jen command-line utilita, hned pro něj vzniklo několik GUI prostředí, které celou práci se Sandcastlem usnadňují. Není to zatím tak jednoduché, jak to bylo s nDoc, nicméně konečně vzniká něco, co mezeru po nDoc zaplní.

Microsoft Visio, Enterprise Architect

Ač je z hlediska vývojářského Microsoft Visio na úpadku a modelování se postupně přesouvá do Visual Studia (Class Designer, atp.), přesto je pro mě stále příjemným nástrojem pro vytváření různých diagramů a podobných vizuálních vyjádření vývojářské problematiky.

Pro UML modelování používám Enterprise Architect od SPARX Systems, který je v této oblasti zřejmě nepřekonatelným leaderem.

Ostatní drobnosti

S vyhledáváním souborů ve WindowsXP jsem se moc neskamarádil, po několika neúspěšných dotazech jsem nainstaloval Agent Ransack a ten používám dodnes. Je rychlý a podporuje i regulární výrazy.

Jako link-validator používám většinou http://validator.w3.org/checklink, nicméně ani Web Link Validator od REL Software není k zahození, jenom škoda, že neplacená verze je omezena na 500 odkazů, takže je použitelný jen pro menší site, nebo části větších.

Pro generování kódu základní business-vrstvy jsme dříve používali CodeSmith, nakonec jsme přešli na generátor zcela vlastní.

Published 30. ledna 2009 10:57 by Robert Haken
Filed under: , , ,

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

Tomas Matejka said:

Dekuji moc za seznam, urcite si ho ve volnem case projdu...

února 25, 2009 0:00
 

Radek said:

Díky za inspiraci :).

dubna 4, 2010 20:59

What do you think?

(required) 
(optional)
(required) 
Enter the code you see below

Submit