fbpx
devstyle.pl - Blog dla każdego programisty
devstyle.pl - Blog dla każdego programisty
2 minut

Visual Studio 2010: GenerateFromUsage


30.05.2009

Poprzednie edycje Visual Studio potrafiły uprzykrzyć życie, jeżeli ktoś próbował stosować Test Driven Development, czyli: najpierw napisz kod korzystający z klasy, a dopiero potem samą klasę; najpierw zaimplementuj wywołanie metody, a dopiero potem samą metodę. Bez dodatków takich jak Resharper podobne scenariusze były niczym innym jak wielkim pain in the… neck.
Teraz to się zmieni i nawet użytkownicy gołego VS będą mogli cieszyć się generacją kodu na podstawie kontekstu jego wykorzystania. Oto typowy przykład:

1) Definiujemy stworzenie nowej instancji nieistniejącej klasy (wraz z parametrem konstruktora) oraz wywołanie jej metody

2) Generujemy klasę

3) Generujemy konstruktor

4) Generujemy metodę

5) Dopieszczamy wygenerowany kod

Uwagi… Feature taki jest z pewnością niesamowicie przydatny, jednak przydałaby się większa kontrola nad generowanym kodem. Co jeśli chcę klasę publiczną – czy muszę ręcznie dodawać modyfiaktor widoczności (zmiana template w folderze program files/visual studio/costamcostam/templates/class.zip nic nie dala)? Albo metodę nie-internal? Nie znalazłem nigdzie ustawień pozwalających zmienić domyślne zachowanie, co nie oznacza jednak że nie zostaną takie dodane (ani też że już nie są gdzieś ukryte).

Nie przegap kolejnych postów!

Dołącz do ponad 9000 programistów w devstyle newsletter!

Zapisując się na newsletter zgadzasz się na przetwarzanie Twoich danych osobowych w celu wysyłania na wskazany przez Ciebie adres e-mail informacji handlowych o nowościach, promocjach, produktach i usługach związanych z serwisem devstyle.pl. Będzie to marketing bezpośredni, do realizacji którego wykorzystam Twoje telekomunikacyjne urządzenia końcowe. Administratorem Twoich danych osobowych będzie Maciej Aniserowicz prowadzący działalność gospodarczą w Białymstoku (15-215) przy ul. Konopnickiej 14/8, NIP 5422824401. Przysługuje Tobie prawo do cofnięcia zgody, żądania wglądu do Twoich danych, wniesienia sprzeciwu co do ich przetwarzania, sprostowania, usunięcia i ograniczenia przetwarzania. Więcej informacji o tym jak przetwarzam Twoje dane znajdziesz na devstyle.pl/RODO. Powered by ConvertKit
Notify of
Robert Ł
Robert Ł

“Co jeśli chcę klasę publiczną … ” zamiast “Generate class for ‘nazwaKlasy’ “, klikamy ‘generate other’. Dostępnych pare opcji.
Szkoda, że brakuje takiej opcji, przy tworzeniu metody.

Hellix

No cóż… Dobrze, żę chociaż tyle jest. Myślę że i tak Resharper zawsze będzie o krok przed funkcjami dostępnymi standardowo w VS.

Procent

@ Hellix: kiedyś  myślałem trochę o tej kwestii i doszedłem do wniosku, że VS powinien zawierać wszystkie cechy R#. Później z kolei dowiedziałem się od teamu tworzącego VS że ich celem nie jest zastąpienie wszystkich dostępnych dodatków, a jedynie wciągnięcię tych najważniejszych ulepszeń i udostępnienie jak najlepszego środowiska do tworzenia kolejnych udoskonaleń. I… zgadzam się z tym całkowicie! R# czy CodeRush SĄ od tego, żeby być co najmniej o krok do przodu, a im dalej – tym lepiej, to jest ich zadanie. I tyle. A od programistów bądź ich pracodawców zależy, czy będą mieli dostęp do najfajniejszych featerów.

nuwanda

Zgadzam się z Procentem. Takie rozumowanie można pociągnąć jeszcze dalej. Po mojej sesji na CodeCamp’09, na której padło pytanie “dlaczego w R# nie ma takiego mechanizmu jaki daje Exceptional” napisałem do ludzi z JetBrains z podobnym pytaniem. Odpowiedzieli, że mają kilka requestów na coś podobnego, ale na razie wszystkich przekierowują na Exceptionala bo dla nich to jeszcze nie jest feature, który musi się znaleźć w samym R#.

arturstan
arturstan

Dopóki MS nie kupi JetBrains czy DevExpress, to oni zawsze będa z przodu.
Problem jest w tym, że Ci co korzystaja z CodeRush (np. ja) nie skorzystaja z Exeptionala (a prezentacja na cc mnie zachęciła)

Kurs Gita

Zaawansowany frontend

Szkolenie z Testów

Szkolenie z baz danych

Facebook

Książka

Zobacz również