devstyle.pl - Blog dla każdego programisty
devstyle.pl - Blog dla każdego programisty
7 minut

Nie będziesz brał myszki, wroga swego, nadaremno


04.02.2013

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!

Nie przegap kolejnych postów!

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

Tym samym wyrażasz zgodę na otrzymanie informacji marketingowych z devstyle.pl (doh...). Powered by ConvertKit
Notify of
KC
KC

IDE to jedna sprawa, można sięgnąć jeszcze dalej i odstawić mysz na większość iterakcji z przeglądarką. Efekt niesamowity, zwłaszcza na laptopach :) http://vimium.github.com/

orientman

Thx. Muszę spróbować, do tej pory używałem http://thegleebox.com/, ale sama nazwa mnie kusi :)

Srebrny

Co prawda nie używam Windowsa ani .Net’u, ale aby maksymalnie przyspieszyć dostęp do konsoli w linuksie zainstalowałem guake. Teraz po wciśnięciu F12 pokazuje mi się konsola – prawie jak w quake’u :) Dodatkowo zainstalowałem Tmux – teraz nie wychodząc z konsoli mogę podzielić widok na kilka części. Zmieniłem także standardowego basha na zsh i nie zamierzam wracać do basha :)

trackback

Nie będziesz brał myszki, wroga swego, nadaremno | Maciej Aniserowicz o programowaniu…

Dziękujemy za dodanie artykułu – Trackback z dotnetomaniak.pl…

Człowiek o niewidzialnym nicku
Człowiek o niewidzialnym nicku

Fajnie że resharper jest taki super, tudzież że VS ma ciekawe skróty klawiaturowe. Ale niestety, na VS Express nie działa ani reshaprer, ani połowa z tych ciekawych skrótów…

Jarosław Bajak
Jarosław Bajak

Od zawsze powtarzam, że używanie myszki to strata czasu. Niestety, smutne to jest jak wiele ludzi marnuje swój czas i nie jest w stanie przekonać się do zaprzestania używania myszy. Ale cóż.. ich strata :) Ważne, że ja tego błędu nie popełniam i trzymam się od myszki jak najdalej.

Antek
Antek

W poprzedniej robocie mieliśmy kiedyś inspekcję stanowisk pracy przez fizjoterapeutkę. Ona mówiła, że korzystanie z myszki niszczy nadgarstek. A więc to nie tylko produktywność, ale i zdrowie.

Łukasz K.

“Bądź jak komandos – odstaw myszkę!”

Znajomość skrótów klawiaturowych jest bossskie. Dla mnie śmiganie po VS bez muszki i wykorzystywanie przy tym setki skrótów (przecie od tego są) jest szpanem;)

Dodam jeszcze, że niesamowicie przydatnym programem/narzędziem jest ArsClip (http://www.joejoesoft.com/vcms/97/), który przechowuje skopiowane do schowka teksty. Polecam go nawet osobom, które nie programują.

Dawid Kowalski

Podobala mi sie anegdota Johannesa Brodwalla podczas WeActuallyBuildStuff jak jego kolega gdy programuje w parze z kims kto za duzo uzywa myszki to ja po prostu odlacza :-)

Antek
Antek

Procent. też się zastanawiam nad przesiadką na trackballa. Poza tym, faktycznie spróbuję tydzień bez Explorera się obyć.

jj
jj

Dawid,
Mam lepszy pomysł: zamiast odłączać myszkę, lepiej walić mokrą szmatą w pysk…

Wg moich obserwacji średni czas korzystania z myszki (u programistów) ciągle rośnie. Masakra jak widzę dev’a który nie używa alt+tab, tab, shift+tab, alt-f4… i mega perełka na koniec: nie używać F5 w visualu (tego nie zniesę…)

xvirk
xvirk

Kiedy na .NETowym blogu pojawia się sugestia żeby nauczyć się VIMa to wiedz, że coś to znaczy.

Pawel
Pawel

Można pójść jeszcze dalej i zamienić zwykłą klawiaturę na coś takiego: http://www.typematrix.com/ . Od razu miną bóle od używania strzałek na zwykłej klawiaturze. Idąc dalej, można zacząć używać układ klawiatury DVORAK, jednak pod VS nie polecam ze względny na kombinację skrótów klawiatury, które są układane pod QWERTY.

mr_question
mr_question

O jakim wrogu mówi tytuł? :)

xevaquor
xevaquor

Skoro mowa o klawiaturach, sprawiłem sobie niedawno MS Natural Ergonomic Keyboard i wzdrygam się na samą myśl powrotu do normalnej :)

orientman

Jest darmowy emulator VIM i pisze go – w F#! – gość z Microsoftu:

http://visualstudiogallery.msdn.microsoft.com/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329

Używam go prawie od początku istnienia (chyba ze 2 lata) i jest świetny. Z R# się nie gryzie. Pod względem kompletności trudno mi porównywać do ViEmu, którym bawiłem się dawno i krótko (bo jednak 99$ szkoda), ale daje radę większości przykładom z książki Practival Vim (http://pragprog.com/book/dnvim/practical-vim). Jedyny minus jest taki, że jak już mi się trafi “normalny” edytor – to gubię się jak ciotka w Czechach i szlag mnie trafia ;-)

Dawid Kowalski

orientman: thx za info o tym emulatorze VIM, niedlugo tez chyba wskocze na ten wagon, http://vim-adventures.com/ mi pomoglo :-)

orientman

@Dawid Zajebiste!

Filip Zawada
Filip Zawada

Czasami nie ma luksusu pair programmingu i kolegi, który może nas lać szmatą za każdorazowe użycie myszki. Niezłym rozwiązaniem jest wtedy odwrócenie myszki do góry nogami. Pomaga, kiedy na początku odruchowo ręka sięga po myszkę. U mnie sprawdziło, się dużo lepiej niż brutalne odłączenie, które jest mało praktycznie. Czasami trzeba przecież coś poklikać w browserze.
Przejście na VIMa chyba faktycznie jest kolejnym poziomem bo przemieszczanie się ze standardowego ułożenia rąk do strzałek i z powrotem jest dość uciążliwe…

“Wiem też, że niektórzy dali szansę TC a mimo to zostali przy Explorerze”
How is that even possible o.O?

Hubert Trzewik
Hubert Trzewik

A ja polecam FarManager. To prawdziwy kombajn napędzany skrótami klawiszowymi i niech klasyczny interfejs Nortona Commandera nikogo nie zmyli.

Bartłomiej Skwira
Bartłomiej Skwira

Gra fajna jako ciekawostka, ale do nauki polecałbym może
– VimCasts http://vimcasts.org/
– interaktywny tutek http://vim-adventures.com/

BS
BS

EDIT: dobry link do tutka http://www.openvim.com/tutorial.html

Piotrek
Piotrek

procent,
Świetny post. Sam jestem zwolennikiem pracy z minimalizacją użycia myszy. Jeśli używasz Git Bash, to nie wiem, czy znasz skróty klawiszowe basha (np. Ctrl + r, czy Alt + . ) ? Poniżej linki do filmików, które prezentują kilka przydatnych sztuczek tej powłoki:
http://www.youtube.com/watch?v=Zz3v4G_xDp4
http://www.youtube.com/watch?v=unkfd0rTClw

Tomek
Tomek

Walenie mokrą szmatą w pysk, odłącznie myszki, odwracanie, smarowanie miodem, dżemem, kremem, czy czym kolwiek innym – czemu to ma służyć ? Już sobie wyobrażam, że wykonuję o kilka kliknięc za dużo, a nagle kolega z biurka na przeciwko wykręca szmajorę we wiadrze pełnym brunatnej wody i trzaska mnie w mordę … . Nie o to chodzi. Myślę, że każdy ma pełne prawo do klikania ile chce i jak chce – jego sprawa. Zamiast karać, lepiej organizować wspólne spotkania i prezentować różne klawiszowe triki. To nie jest tak, że ludzie nie chcą używać klawiatury, bardziej wynika to z braku świadomości,… Read more »

Tomek
Tomek

No dobra, to zamiast marudzić biorę się za poznanie R# :).

Adrian Ciura
Adrian Ciura

W celu zwiększenia wydajności o +10, zakupiłem w te pędy TrackMan Marble Logitecha i jakież było moje zaskoczenie jak się okazało, iż nie ma to scrolla! Ani middle-clicka! Jak żyć?
Ale przede wszystkim jak linki otwierać w nowej zakładce?

Łukasz

Korzystam na co dzień ze środowiska wysokoproduktywnego i skierowanego na klawiaturę (menadżer okien z tailingiem, Emacs, zsh..), jednak argumenty o stracie czasu na używaniu myszy w ogóle mnie nie przekonują. Dla mnie, w całym tym korzystaniu tylko z klawiatury chodzi o wygodę, komfort pracy i ograniczenie frustracji – klawiatura jest po prostu… bardziej deterministyczna niż mysz. Nie wiem dokładnie nad jakimi projektami pracują komentujący tutaj, ale u mnie co najmniej 90% czasu pracy nad kodem to myślenie, planowanie, eksperymenty myślowe, “szkicowanie” na tablicy, <10% to faktyczne pisanie kodu… i no sorry, czas wtedy nie gra żadnej roli jeśli w ciągu… Read more »

orientman

Dziś mi robota nie szła, to oddelegowałem godzinkę na ćwiczenia z R# – wielki dzięki za te posty! Resharpera używam od niedawna – skusiła mnie promocja “na koniec świata”. Narzędzie jest świetne. IMHO całą moc objawia przy utrzymywaniu starego kodu lub refaktoringu juniorów ;-). Z nowym kodem sprawa prosta: TDD i wio (tutaj największym odkryciem jest dla mnie NCrunch – bez zielonej kropki w rogu już nie potrafię :). A na koniec robi się generalne porządki i dopieszczenia: klasy lądują we własnych plikach (często zaczynam pisząc wszystko na kupie w pliku z testami), nazewnictwo itp. itd. To się dzieje niejako… Read more »

ol3j
ol3j

Nie no, patrzenie na programistę, developera, architekta, przez pryzmat używania myszki i skrótów, mega mocne. Fakt jest to przydatne, ale żeby robić z tego wielkie halo.

Hubert Trzewik
Hubert Trzewik

F5 – najbardziej killerski shortcut w SQL Server Management Studio – gdy już zdążysz napisać DELETE FROM MyTable, a zanim zdążysz dopisać WHERE… ;)

Boję się, że to kiedyś się zdarzy..

orientman

Bez odrzucenia mychy nigdy nie osiągnie się programistycznej nirwany ;)

http://psygrammer.com/2011/02/10/the-flow-programming-in-ecstasy/

Łukasz

@procent Podam przykłady z mojego życia (kilka ostatnich projektów), które nie wymagają wielkich szybkości używania/pisania na klawiaturze aka 10% kodzenia/90% myślenia: – platforma do HFT – cały projekt ma kilka tysięcy linii i napisanie go ot tak nie jest wyzwaniem, tutaj jednak liczą się mikro i nano sekundy (bez przesadzania), więc momentami siedzi się nad funkcją liczącą 10 linii i myśli, co zmienić, żeby zyskać parę [mikro|nano]sekund, ew. przepisuje wszystko z ręki do assemblera. Wymyślenie efektywnej, lock-free struktury danych to zadanie myślowe na dni, bo szablonowe podejścia to za mało. Szybkie pisanie nic tu nie pomaga, a nawet przeszkadza, bo… Read more »

marcin
marcin

Którego trackball polecacie? Który rodzaj ? tj. sterowanie kciukiem czy palcem wskazującym oraz środkowym

Moja książka

Facebook

Zobacz również