Narzędzia współczesnego programisty Wrocławska Grupa.NET Paweł Hofman Wrocławska Grupa.NET Software Engineer Silicon & Software.

Slides:



Advertisements
Podobne prezentacje
Rafał Hryniów Tomasz Pieciukiewicz
Advertisements

SQL INJECTION Wykorzystanie błędów w językach skryptowych
Kompilacja Automatyczna: MSBuild
Rozszerzanie Visual Studio.NET 2008 Wrocławska Grupa.NET Paweł Hofman Wrocławska Grupa.NET
SERDECZNIE WITAMY Microsoft Developer Days Visual Studio 2005 Warszawa-Gdańsk-Poznań-Wrocław-Katowice 9-13 maja 2005.
OLAP budowa aplikacji analitycznych w MS SQL 2000 i Yukon
Logiki (nie)klasyczne
ASP.NET 2.0 AJAX Extensions 1.0
Tworzenie ASP.NET Web Form
Dokumentowanie wymagań w języku XML
Jakub Jurkiewicz Mirosław Ochodek Sponsorzy: Debug Jak szukać błędów w Eclipsie?
Eclipse jako IDE III a.
Refaktoryzacja czyli odświeżanie kodu
PSZ wykład 1 > Systemy i środowiska zintegrowane
ASP.NET i platforma.NET Technologie internetowe ( ) Tomasz Popów
Koordynatorzy: Krzysztof BIKONIS Marek MOSZYŃSKI
P I OTR SKOŁYSZ. POCHODZENIE I CELE CZYM JEST.NET ? CO IMPLEMENTUJE MONO ? ŚRODOWISKO PRACY [MONODEVELOP] SYTEMY OPERACYJNE CO PROGRAMOWAĆ ? JĘZYKI PRZYKŁADOWY.
Information Bridge Framework platforma integracji Microsoft Office 2003 z aplikacjami Line of Business Krzysztof Michalski10/01/2005.
Resource Description Framework
KURS Z INFORMATYKI prowadzący: mgr Przemysław Głowacki.
Przegląd zagadnień Struktura sieci systemu Windows 2003
Narzędzia do testowania
SZPIF – Harmonogram, Opis narzędzi, Schemat bazy danych
Grzegorz Bartosik Świadome i pełne wykorzystanie narzędzi klienckich w SQL Server 2005.
Koncepcja refaktoryzacji kodu w języku VHDL
Modelowanie w Visual Studio 2010
Aplikacje Internetowe
Witold Bołt Wprowadzenie do .NET Witold Bołt
Bezpieczna platforma SharePoint
P ISZ MNIEJ, RÓB WIĘCEJ - ZASTOSOWANIE J Q UERY Kamil Szumański s4126.
Continuous Integration
Generatory dokumentacji kodu źródłowego
Office 365.
System wspierający obsługę przedmiotów projektowych
Co to jest Visual Studio Team System?
Licencjonowanie narzędzi dla programistów
instrukcja do projektu RSO
Witold Bołt. Agenda W czym tkwi problem..? Po co jest oprogramowanie? Kim jest użytkownik? Zbieranie danych Co to jest design Współpraca programista-projektant.
Przygotował: Paweł Ziaja
Wykonał: Michał Nikołajuk
Narzędzia wspomagające programowanie, projektowanie, pisanie kodu Tomasz Huczek.
Temat 2: Edytory HTML.
Dodatki w Visual Studio
Michał Gmerek, Krzysztof Słodowicz
How to make an application on Step by Step Instructions
Wydział Elektroniki Kierunek: AiR Zaawansowane metody programowania Wykład 5.
Systemy kontroli wersji Autorzy:  Mirosław Jedynak  Adam Łączyński.
Bartosz Michalik Jakub Jurkiewicz Sponsor główny: Eclipse IDE Zanim rozpoczniemy naszą pracę...
Technologie internetowe i mobilne
Efektywne tworzenie oprogramowania 2008/2009. Forty Years of Software Engineering Konferencja w Garmisch – uczestników Prof. Bauer TUM przewodniczący.
Refactoring in eclipse Mąkosa Norbert Rospądek Bartłomiej.
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
T ESTY JEDNOSTKOWE W C# Alicja Majka, A GENDA Wprowadzenie do środowiska Czym są testy jednostkowe i po co je stosować? XUnit, NUnit Pokrycie.
Refaktoryzacja „Any fool can write a code that computer understands. Good programers write code that human can understand” – Martin Fowler.
Wspomaganie edycji programu ● automatyczne wcięcia ● kolorowanie składni ● dopasowywanie nawiasów ● ukrywanie kodu ( Edit/Outlining ) – #region... #endregion.
Testy jednostkowe. „Test jednostkowy (unit test) to fragment kodu, który sprawdza inny fragment kodu”
InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji: – Innowacyjne metody.
Eclipse jako środowisko IDE do programowania w Javie Java IDE Bartosz.Michalik
Opracowanie: Katarzyna Gagan, Anna Krawczuk
Przetestuj Usability Mateusz Kaczmarek
A prototype of distributed modelling environment
Managed Service Identity dla zasobów w Microsoft Azure
Running Dictation Activity to Engage Students in Reading, Writing, Listening, and Speaking.
Dynamics 365 CE i język TypeScript
C# może więcej! Budowanie aplikacji mobilnych na platformy iOS/Android/Windows Phone przy użyciu narzędzi Xamarin Platform
zl
1) What is Linux 2) Founder and mascot of linux 3) Why Torvalds created linux ? 4) System advantages and disadvantages 5) Linux distributions 6) Basic.
Cover page Change background image by right-clicking → Edit background Picture fill → From file First move the gradient mask by activating it (clicking.
SatMapping Your map from space Cover page
Refaktoryzacja czyli odświeżanie kodu
Zapis prezentacji:

Narzędzia współczesnego programisty Wrocławska Grupa.NET Paweł Hofman Wrocławska Grupa.NET Software Engineer Silicon & Software Systems (S3)

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

- 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

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++)

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ę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

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

- 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

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

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:

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:

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

R# - Refactoring 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 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 źródło:

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

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 - /Bin/Plugins Current User - /ReSharper/v /vs /Plugins Dostępne dodatki: RGreatEx (odpłatnie) Agent Smith MbUnit

- 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

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

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:

- 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

Visual Assist X - Możliwości Wspiera: C# VB.NET C++ dostępny nawet dla VisualC 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 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:

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:

- 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

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 Build TeamCity (JetBrains) CruiseControl.NET pomoce od sysinternals monitory: rejestru, plików, ruchu sieciowego programy 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#: Developer Express - Refactor!, CodeRush Whole Tomato Software - Visual Assist X

Źródła Dodatki: RGreatEx - Agent Smith NUnit: MbUnit: Visual Studio Extensibility: msdn.microsoft.com/vsx msdn.microsoft.com/vstudio/dsltools blogs.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