1 / 35

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ęp Visual Studio i Extensibility Narzędzia typu R#, Refactor!, Visual Assist X

rod
Download Presentation

Narzędzia współczesnego programisty

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Agenda • Wstęp • Visual Studio i Extensibility • Narzędzia typu R#, Refactor!, Visual Assist X • Możliwości: • Asystowanie przy edycja kodu (C#, VB, C++, XML…) • Testowanie kodu • Dodatki • Czego brakuje ? • Inne narzędzia: Reflektor.NET, Paint.NET • Demo • Pytania

  3. - Sekcja - Wstęp Visual Studio i Extensibility Narzędzia typu R#, Refactor!, Visual Assist X Możliwości: Asystowanie przy edycja kodu (C#, VB, C++, XML…) Testowanie kodu Dodatki Czego brakuje ? Inne narzędzia: Reflektor.NET, Paint.NET Demo Pytania

  4. 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.com • Refactor!, CodeRush – DevExpress.com • Visual Assist X - WholeTomato.com • Eclipse (Java / C / C++)

  5. Korzyści • Większa produktywność programisty • Większy zysk firmy, rekompensujący wydatki na narzędzie • Mniejsza harówka i frustracja programisty • Czytelniejszy kod

  6. - Sekcja - Wstęp Visual Studio i Extensibility Narzędzia typu R#, Refactor!, Visual Assist X Możliwości: Asystowanie przy edycja kodu (C#, VB, …) Testowanie kodu Dodatki Czego brakuje ? Inne narzędzia: Reflektor.NET, Paint.NET Demo Pytania

  7. Visual Studio Extensibility • Visual Studio Extensibility • zmiana 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

  8. - Sekcja - Wstęp Visual Studio i Extensibility Narzędzia typuR#, Refactor!, Visual Assist X Możliwości: Asystowanie przy edycja kodu (C#, VB, C++, XML…) Testowanie kodu Dodatki Czego brakuje ? Inne narzędzia: Reflektor.NET, Paint.NET Demo Pytania

  9. R# - Edycja • Asystent: • modyfikuje edytory kodu • tworzy podgląd struktury pliku • sprawdza poprawność kodu podczas edycji • automatycznie sugeruje pożądane akcje dla aktualnego położenia kursora • ułatwia nawigację i wyszukiwanie zależności • monitoruje całe rozwiązanie (Solution) w poszukiwaniu potencjalnych błędów i niespójności

  10. R# • On-the-fly Error Checking ReSharper instantly detects and highlights errors in code, without you having to compile it first. • Warnings Besides 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

  11. R# • Code Suggestions A deeper level of code analysis 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-Fixes ReSharper 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

  12. R# - Wsparcie platformy .NET • Przydatny przy pracy z językami: • C# • VB.NET • Dodatkowo: • ASP.NET • XML • XAML • skrypty MS Build (.Proj) • skrypty NAnt

  13. R# - Refactoring Extract Class from Method Parameters Make Method Static Make Method Non-Static Use Base Type where Possible Pull Members Up Push Members Down Safe Delete Convert Method to Property Convert Property to Method(s) Convert Abstract Class to Interface Convert Interface to Abstract Class Encapsulate Field Move type to outer scope Move Static Members • Using Code Refactorings • Rename Symbol • Move Type • Copy Type • Change Method Signature • Extract Method • Extract type to a new file • Introduce Variable • Introduce Field • Introduce Parameter • Inline Variable • Extract Interface • Extract Superclass źródło: www.jetbrains.com/resharper

  14. R# - Testy jednostkowe • Przeglądanie • Uruchamianie • Historia sesji testów … dostępne wewnątrz Visual Studio • Wspiera NUnit Framework • Możliwa integracja także z innymi

  15. 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++

  16. 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/Plugins • Current User - <Profile>/ReSharper/v<R#Version>/vs<VsVersion><WsRootSuffix> /Plugins • Dostępne dodatki: • RGreatEx (odpłatnie) • Agent Smith • MbUnit

  17. - Sekcja - Wstęp Visual Studio i Extensibility Narzędzia typu R#, Refactor!, Visual Assist X Możliwości: Asystowanie przy edycja kodu (C#, VB, C++, XML…) Testowanie kodu Dodatki do R# Czego brakuje ? Inne narzędzia: Reflektor.NET, Paint.NET Demo Pytania

  18. Refactor! Pro - Możliwości • IntellAssist • 150+ Refactorings • w tym przenoszenie stałych / napisów do zasobów • wykrywanie i definiowanie stałych • Wspiera: • C# • Visual Basic *) • C++ *) • ASP.NET *) • XML • XAML • HTML • JavaScript *) = dostępna wersja darmowa

  19. Refactor! Pro - Możliwości • metryki kodu • ciekawe dodatki wizualne • możliwość pisania dodatków • pomocny przy korzystaniu z NUnit

  20. Filmiki instruktażowe: Refactor! Pro Demo • CodeRush! Big Picture • Refactor! 3-minutes • Refactor! Pro Big Picture źródło: www.devexpress.com

  21. - Sekcja - Wstęp Visual Studio i Extensibility Narzędzia typu R#, Refactor!, Visual Assist X Możliwości: Asystowanie przy edycja kodu (C#, VB, C++, XML…) Testowanie kodu Dodatki do R# Czego brakuje ? Inne narzędzia: Reflektor.NET, Paint.NET Demo Pytania

  22. Visual Assist X - Możliwości • Wspiera: • C# • VB.NET • C++ • dostępny nawet dla VisualC++ 6.0 oraz eMbedded Visual Tools 4.0 • wbudowany słownik (spellchecker dla komentarzy, zasobów i napisów)

  23. 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

  24. Visual Assist X • Enhanced Syntax Coloring Make 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 Italics Display 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

  25. Visual Assist X • Underline Spelling Errors Spell check comments and strings as-you-type, or run spell check in batch mode. • Underline Mistyped Symbols Underline 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 Case Type a symbol with improper case and watch it get repaired immediately. źródło: www.wholetomato.com

  26. - Sekcja - Wstęp Visual Studio i Extensibility Narzędzia typu R#, Refactor!, Visual Assist X Możliwości: Asystowanie przy edycja kodu (C#, VB, C++, XML…) Testowanie kodu Dodatki do R# Czego brakuje ? Inne narzędzia: Reflektor.NET, Paint.NET Demo Pytania

  27. Inne narzędzia • FxCop.NET • Reflector.NET • Paint.NET • Dependency Walker • Test Driven Development: • NUnit • MbUnit • Visual Studio .NET for Software Testers

  28. Inne narzędzia (2) • mrówki (NAnt) • MS Build • TeamCity (JetBrains) • CruiseControl.NET • pomoce od sysinternals • monitory: rejestru, plików, ruchu sieciowego • programy diagnostyczne • pomoce od wintellect.com

  29. Przykładowy projekt Visual Studio + R# w akcji Demo • asystent • - szybka edycja i poprawianie kodu • testy jednostkowe • wyszukiwanie i nawigacja po projekcie

  30. 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ą’.

  31. Pytania ?

  32. Koniec Dziękuję za uwagę

  33. Źródła i odnośniki • JetBrains – R#: www.jetbrains.com/resharper • Developer Express - Refactor!, CodeRush www.devexpress.com • Whole Tomato Software - Visual Assist X www.wholetomato.com

  34. Źródła • Dodatki: • RGreatEx - www.safedevelop.com • Agent Smith - www.agentsmithplugin.com • www.codeproject.com • NUnit: • www.nunit.org • MbUnit: • www.mbunit.com • Visual Studio Extensibility: • msdn.microsoft.com/vsx • msdn.microsoft.com/vstudio/dsltools • blogs.msdn.com/vsxteam/

  35. 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

More Related