Narzędzia współczesnego programisty

Post on 14-Jan-2016

40 views 0 download

description

Narzędzia współczesnego programisty. Wrocławska Grupa .NET. Paweł Hofman Wrocławska Grupa .NET http://wroc.net.isvclub.com. Software Engineer Silicon & Software Systems (S3) www.s3group.com. Agenda. Wstęp Visual Studio i Extensibility Narzędzia typu R#, Refactor!, Visual Assist X - PowerPoint PPT Presentation

Transcript of Narzędzia współczesnego programisty

Narzędzia współczesnego programisty

Wrocławska Grupa .NET

Paweł Hofman

Wrocławska Grupa .NET

http://wroc.net.isvclub.com

Software Engineer

Silicon & Software Systems (S3)

www.s3group.com

Agenda

WstępVisual Studio i ExtensibilityNarzędzia typu R#, Refactor!, Visual Assist XMożliwości:

Asystowanie przy edycja kodu (C#, VB, C++, XML…)Testowanie koduDodatkiCzego brakuje ?

Inne narzędzia: Reflektor.NET, Paint.NETDemo Pytania

- Sekcja -

WstępVisual Studio i ExtensibilityNarzędzia typu R#, Refactor!, Visual Assist XMożliwości:

Asystowanie przy edycja kodu (C#, VB, C++, XML…)Testowanie koduDodatkiCzego brakuje ?

Inne narzędzia: Reflektor.NET, Paint.NETDemo Pytania

Wstęp

Visual Studio ciągle NIE jest tym, co tygrysy lubią najbardziej

mnogość asystentów do edycji i upiększania (refactoring) kodu

R# - JetBrains.comRefactor!, CodeRush – DevExpress.comVisual Assist X - WholeTomato.com

Eclipse (Java / C / C++)

Korzyści

Większa produktywność programisty

Większy zysk firmy, rekompensujący wydatki na narzędzie

Mniejsza harówka i frustracja programisty

Czytelniejszy kod

- Sekcja -

WstępVisual Studio i ExtensibilityNarzędzia typu R#, Refactor!, Visual Assist XMożliwości:

Asystowanie przy edycja kodu (C#, VB, …)Testowanie koduDodatkiCzego brakuje ?

Inne narzędzia: Reflektor.NET, Paint.NETDemo Pytania

Visual Studio Extensibility

Visual Studio Extensibilityzmiana wyglądu IDE

nowe okna narzędziowe

nowi dostawców usług

od wersji VisualStudio 2005:brak bezpośredniej interakcji z obiektami COM

atrybuty, interfejsy i klasy bazowe w kodzie zarządzanym .NET

- Sekcja -

WstępVisual Studio i ExtensibilityNarzędzia typu R#, Refactor!, Visual Assist XMożliwości:

Asystowanie przy edycja kodu (C#, VB, C++, XML…)Testowanie koduDodatkiCzego brakuje ?

Inne narzędzia: Reflektor.NET, Paint.NETDemo Pytania

R# - Edycja

Asystent:modyfikuje edytory kodutworzy podgląd struktury plikusprawdza poprawność kodu podczas edycjiautomatycznie sugeruje pożądane akcje dla aktualnego położenia kursoraułatwia nawigację i wyszukiwanie zależnościmonitoruje całe rozwiązanie (Solution) w poszukiwaniu potencjalnych błędów i niespójności

R#

On-the-fly Error CheckingReSharper instantly detects and highlights errors in code, without you having to compile it first.

WarningsBesides errors and warnings detectable by the compiler, ReSharper also prompts you about additional warnings that may represent real coding errors.

źródło: www.jetbrains.com/resharper

R#

Code SuggestionsA deeper level of codeanalysis is available with Code Suggestions. Code suggestions provide insights into code structure, drawing your attention to things that aren't necessarily bad or wrong, but probably useful to know.

Quick-FixesReSharper provides Quick-fixes for most errors, helping you solve problems instantly. You can see the list of available quick-fixes for a given error. Then simply select the appropriate quick-fix from the list, and it will implement the automatic error correction.

źródło: www.jetbrains.com/resharper

R# - Wsparcie platformy .NET

Przydatny przy pracy z językami:C#VB.NET

Dodatkowo:ASP.NETXMLXAMLskrypty MS Build (.Proj)skrypty NAnt

R# - Refactoring

Using Code RefactoringsRename SymbolMove TypeCopy TypeChange Method SignatureExtract MethodExtract type to a new fileIntroduce VariableIntroduce FieldIntroduce ParameterInline VariableExtract InterfaceExtract Superclass

Extract Class from Method ParametersMake Method StaticMake Method Non-StaticUse Base Type where PossiblePull Members UpPush Members DownSafe DeleteConvert Method to PropertyConvert Property to Method(s)Convert Abstract Class to InterfaceConvert Interface to Abstract ClassEncapsulate FieldMove type to outer scopeMove Static Members

źródło: www.jetbrains.com/resharper

R# - Testy jednostkowe

PrzeglądanieUruchamianieHistoria sesji testów

… dostępne wewnątrz Visual Studio

Wspiera NUnit FrameworkMożliwa integracja także z innymi

Niedosyt ?

Brak sprawdzania pisowni!!!

Brak wykrywania i przenoszenia stałych z kodu do zasobów

Brak porównywania publicznego API dwóch wersji tego samego assembly

Brak wsparcia dla programistów C/C++

R# - Publiczne API

Zwykły projekt DLL używający atrybutów, klas i interfejsów z assemblies JetBrains.*.dll

Pisanie dodatków do R# jest dużo prostsze niż bezpośrednio w VisualStudio

Instalacja dodatku:All Users - <R#InstallDir>/Bin/PluginsCurrent User - <Profile>/ReSharper/v<R#Version>/vs<VsVersion><WsRootSuffix> /Plugins

Dostępne dodatki:RGreatEx (odpłatnie)Agent SmithMbUnit

- Sekcja -

WstępVisual Studio i ExtensibilityNarzędzia typu R#, Refactor!, Visual Assist XMożliwości:

Asystowanie przy edycja kodu (C#, VB, C++, XML…)Testowanie koduDodatki do R#Czego brakuje ?

Inne narzędzia: Reflektor.NET, Paint.NETDemo Pytania

Refactor! Pro - Możliwości

IntellAssist150+ Refactorings

w tym przenoszenie stałych / napisów do zasobówwykrywanie i definiowanie stałych

Wspiera:C#Visual Basic *)C++ *)ASP.NET *)XMLXAMLHTMLJavaScript

*) = dostępna wersja darmowa

Refactor! Pro - Możliwości

metryki kodu

ciekawe dodatki wizualne

możliwość pisania dodatków

pomocny przy korzystaniu z NUnit

Refactor! Pro

Demo

Filmiki instruktażowe:- CodeRush! Big Picture- Refactor! 3-minutes- Refactor! Pro Big Picture

źródło: www.devexpress.com

- Sekcja -

WstępVisual Studio i ExtensibilityNarzędzia typu R#, Refactor!, Visual Assist XMożliwości:

Asystowanie przy edycja kodu (C#, VB, C++, XML…)Testowanie koduDodatki do R#Czego brakuje ?

Inne narzędzia: Reflektor.NET, Paint.NETDemo Pytania

Visual Assist X - Możliwości

Wspiera:C#VB.NETC++

dostępny nawet dla VisualC++ 6.0 oraz eMbedded Visual Tools 4.0

wbudowany słownik (spellchecker dla komentarzy, zasobów i napisów)

Visual Assist X - Możliwości

wykrywa błędy przed kompilacją

wyszukuje referencje do klas niezależnie od użytego języka

zmiana nazwy elementu odświeża także zasoby i napisy

rozbudowana nawigacja po kodzie

bardzo rozbudowane kolorowanie kodu

Visual Assist X

Underline Spelling ErrorsSpell check comments and strings as-you-type, or run spell check in batch mode.

Underline Mistyped SymbolsUnderline mistyped symbols as-you-type so you know immediately if you're mistaken about a symbol name, or you're using a symbol out-of-context.

Repair CaseType a symbol with improper case and watch it get repaired immediately.

źródło: www.wholetomato.com

- Sekcja -

WstępVisual Studio i ExtensibilityNarzędzia typu R#, Refactor!, Visual Assist XMożliwości:

Asystowanie przy edycja kodu (C#, VB, C++, XML…)Testowanie koduDodatki do R#Czego brakuje ?

Inne narzędzia: Reflektor.NET, Paint.NETDemo Pytania

Inne narzędzia

FxCop.NET

Reflector.NET

Paint.NET

Dependency Walker

Test Driven Development:NUnit

MbUnit

Visual Studio .NET for Software Testers

Inne narzędzia (2)

mrówki (NAnt) MS BuildTeamCity (JetBrains)CruiseControl.NET

pomoce od sysinternalsmonitory: rejestru, plików, ruchu sieciowegoprogramy diagnostyczne

pomoce od wintellect.com

Visual Studio + R# w akcji

Demo

Przykładowy projekt- asystent- szybka edycja i poprawianie kodu- testy jednostkowe- wyszukiwanie i nawigacja po projekcie

Podsumowanie

VisualStudio 2005 nie jest narzędziem wystarczającym do wszystkiego.

Istnieją liczne narzędzia, które można zintegrować z VisualStudio, aby uczynić swoją pracę ‘przyjemniejszą’.

Pytania

?

Koniec

Dziękuję za uwagę

Źródła i odnośniki

JetBrains – R#:www.jetbrains.com/resharper

Developer Express - Refactor!, CodeRushwww.devexpress.com

Whole Tomato Software - Visual Assist Xwww.wholetomato.com

Rozwinięcia skrótów

CTC = Command Table Configuration

DTE = Development Tools Environment

MPF = Managed Package Framework

TT = Text Templates

VSCT = Visual Studio Command Table