... o których każdy programista
wiedzieć powinien.

Zawsze słuchaj ekspertów. Oni powiedzą ci, czego nie da się zrobić i dlaczego. A ty potem to zrób.
-- Robert Heinlein
Heinz Kabutz

Poznaj swoje IDE

Oryginalny tytuł: Know your IDE

Autor: Heinz Kabutz

W latach 80-tych nasze środowiska programistyczne były niczym więcej niż wychwalanymi pod niebiosa edytorami tekstowymi (jeśli mieliśmy szczęście). Podświetlanie składni, które w dzisiejszych czasach bierzemy za coś oczywistego, było luksusem, który nie był dostępny dla każdego. Aby poprawić formatowanie naszego kodu korzystaliśmy z zewnętrznych narzędzi. Debuggery zaś były niezależnymi programami posiadającymi wiele skomplikowanych skrótów klawiszowych.

W latach 90-tych firmy zaczęły dostrzegać potencjalny zysk, który mogły osiągnąć poprzez wyposażenie programistów w lepsze i bardziej użyteczne narzędzia. Zintegrowane środowisko programistyczne (IDE) łączy w sobie edytor, kompilator, debugger, 'pretty printer' i inne narzędzia. Dzięki popularyzacji menu i myszki, programiści nie muszą już więcej uczyć się skomplikowanych skrótów klawiszowych.

W XXI wieku IDE stały się tak popularne, że rozdawane są za darmo przez firmy, które chcą zdobyć rynek w innych obszarach. Współczesne IDE jest wyposażone w zdumiewający zestaw funkcjonalności. Moją ulubioną jest automatyczna refaktoryzacja, w szczególności Extract Method, która pozwala mi zaznaczyć i zamienić blok kodu w metodę. Narzędzie zatroszczy się, by przekazać wszystkie wymagane parametry. Moje IDE jest nawet w stanie wykryć inne bloki kodu, które mogłoby być zamienione przez nowo utworzoną metodę i zadaje mi pytanie, czy chciałbym to zrobić.

Kolejną zdumiewająca cechą współczesnych IDE jest możliwość narzucenia zasad na styl kodowania w obrębie firmy. Przykładowo, w języku Java niektórzy programiści zaczęli poprzedzać wszystkie parametry słowem kluczowym final (co według mnie jest stratą czasu). Niemniej, ponieważ maja taką zasadę stylu, wszystko czego bym potrzebował, by też do niej się stosować, to ustawić ją w moim IDE. Otrzymywałbym wtedy ostrzeżenie dla każdego parametru, który nie jest poprzedzony słowem kluczowym final. Zasady stylu mogą być też użyte, by znaleźć możliwe błędy, takie jak porównywanie obiektów, które będą opakowane w inne (ang. autoboxing). Dobrym przykładem takiej sytuacji jest używanie operatora == na typach prostych.

Niestety współczesne zintegrowane środowiska programistyczne nie wymagają od nas zaangażowania, aby móc ich używać. Kiedy po raz pierwszy programowałem w C na Unix'ie, musiałem spędzić dużo czasu na nauce edytora vi. Czas, który poświęciłem zwrócił się z nawiązką. Nawet teraz piszę wersję roboczą tego artykułu w edytorze vi. Współczesne IDE maja łagodną krzywą uczenia, która może powodować, że nigdy nie nauczymy się, jak wykorzystać je w bardziej zaawansowany sposób.

Moim pierwszym krokiem podczas nauki IDE było zapamiętanie skrótów klawiszowych. Teraz, kiedy piszę mój kod, nie muszę odrywać palców od klawiatury, by usunąć zmienną. Naciskam Ctrl+Shift+I, co powala mi nie zmieniać kontekstu. Odrywanie palców prowadzi do niepotrzebnej zmiany kontekstu, która sprawia, że jesteśmy mniej produktywni. Ta sama reguła dotyczy także umiejętności pisania na klawiaturze. Naucz się bezwzrokowego pisania i nie będziesz żałował zainwestowanego czasu.

Na sam koniec, będąc programistami, mamy do dyspozycji sprawdzone narzędzia Unixowe, których możemy użyć do manipulacji naszym kodem. Na przykład, jeśli podczas code review, zauważę, że programiści nazwali podobnie wiele klas, jestem w stanie łatwo je znaleźć używając narzędzi find, sed, sort, uniq i grep w następujący sposób:

	find . -name "*.java" | sed 's/.*\///' | sort | uniq -c | grep -v "^ *1 " | sort -r

Oczekujemy, że hydraulik, który przychodzi do nas coś naprawić, jest w stanie używać lampy lutowniczej. Nie bądźmy gorsi i poświęćmy trochę czasu na naukę, jak być bardziej wydajnym w naszym IDE.

Creative Commons Uznanie Autorstwa 3.0 Artykuł został opublikowany na licencji Creative Commons Uznanie Autorstwa 3.0.
Tłumaczenie: Marcin

Komentarze (2)

Msky pisze:
22-10-2011 20:25:20
Ten artykuł jest tak absolutnie o niczym i pozbawiony sensu, że aż chciało mi się przepisać jakiś głupi kod od końca żeby o tym napisać.
demi pisze:
22-10-2011 21:16:33
Mam nieodparte wrażenie że to jedynie bałaganiarski wstęp do właściwego artykułu, tylko że resztę gdzieś u...rwało

Dodaj komentarz

*
 
 
*
*