Upload
rod
View
40
Download
0
Embed Size (px)
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
Citation preview
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
Enhanced Syntax ColoringMake code easy to read and debug by viewing it with enhanced syntax colors.
Local Symbols in Bold Distinguish local from non-local
symbols as you read code.
Stable Symbols in ItalicsDisplay stable symbols in italics and know when you reference a method from a base class versus an overriding variant.
źródło: www.wholetomato.com
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
Źródła
Dodatki:RGreatEx - www.safedevelop.comAgent Smith - www.agentsmithplugin.comwww.codeproject.com
NUnit:www.nunit.org
MbUnit:www.mbunit.com
Visual Studio Extensibility:msdn.microsoft.com/vsxmsdn.microsoft.com/vstudio/dsltoolsblogs.msdn.com/vsxteam/
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