Kolega przeprowadzał kiedyś zdalne interview z programistą. W teorii wszystko było jak należy – ziomek interesował się zagadnieniami spoza pracy czysto zawodowej, prowadził bloga, używał Resharpera…
No i właśnie przy Resharperze pojawiło się pierwsze zaskoczenie: używał go za pomocą MYSZKI! WTF? Normalnie Mouse Driven Development In Practice, 3rd Edition Complete! Po kilku tygodniach okazało się, że trzeba niestety podziękować mu za współpracę.
Nie twierdzę, że to był powód. Ale mogło uchodzić za znak ostrzegawczy. Tutaj małe wtrącenie: jeśli masz Resharpera a czujesz, że nie wykorzystujesz nawet 10% jego możliwości to zapraszam do mojej trzyczęściowej serii postów “C# via R#“. Co prawda napisałem to w roku 2008, ale nadal może stanowić świetny wstęp do tego genialnego narzędzia. A potem – dodatkowych kursów, tutoriali i list skrótów w R# jest w necie co nie miara.
Ile czasu codziennie marnuje średnio programista sięgając po myszkę i klikając po mikro-ikonkach? Rozwijając plusiki w Solution Explorerze? Niechcący przeciągając pliki między folderami a potem próbując je powrzucać w poprzednie miejsca?
Może się wydawać, że jest to zbyt banalny temat na dedykowanego posta, i to jeszcze w tak ewangelistycznym cyklu. Ale wbrew pozorom kwestia ta jest niesamowicie istotna… a dodatkowo można ją rozszerzyć na ogólnie rozumianą “produktywność”.
Jak bardzo może usprawnić pracę znajomość dziesiątków skrótów klawiaturowych w ulubionych narzędziach? Mega-bardzo. Jeśli dodamy do tego możliwość definiowania własnych skrótów, nagrywania/pisania makr, właściwie całkowitego dostosowania wszelkich programów do swoich potrzeb to praca staje się nie tylko bardziej wydajna, ale też o wiele przyjemniejsza!
Czas spędzony na poznaniu tricków przybliżających nas do celu nawet o sekundę prawie zawsze się zwróci.
Choćby takie durne otwarcie pliku w Visualu… Resharper ze swoją boską nawigacją jest z nami od wielu, wielu lat. Nawet goły VS posiada możliwość wyszukania dowolnego pliku z poziomu klawiatury od wersji 2010 (skrót ctrl + , o czym pisałem w roku 2009). Albo zamknięcie aktualnego okienka narzędziowego w VS – czy znacie skrót shift+esc który robi właśnie to, eliminując konieczność celowania w krzyżyk w jego prawym górnym rogu? Co do samego Visuala to skrobnąłem kiedyś notkę o wdzięcznym tytule “11 brudnych sekretów Visual Studio” – może komuś się przyda.
A uruchamianie programów? Niesamowicie dziwi mnie narzekanie, i to w programistycznej społeczności, na brak Menu Start w Win8. Do kilku rzeczy w tym systemie można się przyczepić, ale czy naprawdę usunięcie Menu Start jest jedną z nich? Czy ktoś faktycznie sięgał po myszkę, klikał w “Start” a potem kursorem najeżdżał na wybraną pozycję i ją klikał? U mnie osobiście wykorzystywanie Menu Start ograniczało się do wciśnięcia “win”, napisania kilku liter do wyszukania aplikacji i ENTER. I w Win8 to się nie zmieniło.
Ale jak już przy tym jesteśmy – dlaczego nie usprawnić odpalania aplikacji jeszcze bardziej? Od tego są w końcu Launchy czy SlickRun. Używam obu, oba polecam.
A jak już uruchomimy masę aplikacji to przydałoby się sprawnie między nimi przełączać. Klikanie w ikonki na pasku zadań można bardzo prosto wyeliminować stosując niesamowicie wręcz użyteczne skróty “win+1” – “win+0” wprowadzone w Windows 7 – przeniosą one focus na aplikację znajdującą się na danej pozycji na pasku lub uruchomią odpowiedni program do niego przypięty. A jeśli mamy programów naprawdę sporo (czyli zawsze?) to warto rozejrzeć się za alternatywą dla wciskania alt+tab+tab+tab+tab… miliard razy dziennie – ja znalazłem Vista Switcher i to jest jedna z pierwszych aplikacji jakie instaluję na świeżym systemie.
Edycja plików? Jeżeli sprawia ci to jakąkolwiek trudność – poszukaj innego edytora. Np błyskawicznego Sublime Text, i obejrzyj tutorial do niego. Albo pójdź krok dalej i naucz się Vim, może nawet zdecydujesz się na dorzucenie takiej funkcjonalności do Visuala? A, należy pamiętać że VS posiada obsługę wyrażeń regularnych w trybie “find and replace”.
Nawet pisanie na klawiaturze może zostać zredukowane do minimum. Po co klepać w kółko te same komendy, na przykład w Git Bash, jeśli mogą wklepać się same? Po szczegóły zapraszam do notki “Skrypt AutoHotkey ułatwiający pracę z Git“, a zapoznanie się z AutoHotkey polecam każdemu mającemu styczność z komputerami.
W obcowaniu z narzędziami staram się wyznawać zasadę: za pierwszym razem po prostu zrób co chcesz zrobić, za drugim – przypomnij sobie, że już to robiłeś, a za trzecim – znajdź sposób na przyspieszenie całego procesu. Tak też się stało gdy musiałem co i rusz czyścić cache w Firefoxie – najpierw przeklikiwałem się przez opcje, potem doinstalowałem Clear Cache Button. Podobnie rzecz się miała przy tworzeniu i aktualizowaniu http://msmvp.pl – tak jak pisałem w poście intro, na system składają się dwie bazy SQL CE i raz na jakiś czas trzeba jedną ściągnąć z FTP, skopiować 2x na dysku i wrzucić na inny FTP. 2x poczyniłem to przez Total Commandera, za trzecim razem napisałem skrypt Powershell, który to robi. Kilka chwil mi to zajęło, ale zwróciło się już wielokrotnie.
Jak już doszedłem niechcący do Total Commandera to przy nim zostanę. Wiem jak wiele osób przyzwyczaiło się do Windows Explorer i tkwi w tym bagnie. Wiem też, że niektórzy dali szansę TC a mimo to zostali przy Explorerze… Serio, zainstalujcie sobie ten magiczny soft, przeczytajcie co on potrafi (Beginners tutorial, Advanced tutorial), i przez tydzień nie otwierajcie explorera. Nigdy do tych inwalidzkich okienek nie wrócicie.
Wiadomo, od myszki raczej nie ucieknie się w 100%. A w takich przypadkach bardzo, ale to bardzo polecam trackballa. O czym pisałem kilka tygodni po jego zakupie w poście “Ja, trackball i ja“. Teraz nawet czynności “myszkowe” nie trwają tyle ile trwały.
Podsumowanie jest bardzo krótkie: zawsze warto zainwestować kilka minut w polepszenie swoich umiejętności pracy z narzędziami wykorzystywanymi na co dzień. Im więcej “sięgania-po-myszkę” wyeliminujemy, tym więcej pracy wykonamy w ciągu dnia. “As simple as that”. Także jeśli właśnie siedzisz w pracy i spędziłeś kilka chwil na lekturze tego posta – poświęć ich jeszcze parę nad zastanowieniem się “jak mogę przyspieszyć każdą czynność wykonywaną codziennie setki razy?”. A potem to zrób. Opłaci się.
Mam nadzieję, że w komentarzach pojawią się kolejne wskazówki jak można “wyeliminować myszkę” lub ogólnie zwiększyć produktywność. Ciekawe skróty? Przydatne narzędzia? Dzielcie się, aby świadomość w narodzie rosła!