1 / 23

Zwiększanie produktywności programisty PHP

Zwiększanie produktywności programisty PHP. Adam Puza. Wprowadzenie. Co oznacza termin produktywność indywidualna ? Produktywność indywidualna == maksymalne wykorzystywanie możliwości komputera. Jesteś programistą... ... potrafisz zrobić więcej - wykorzystaj to!

vanida
Download Presentation

Zwiększanie produktywności programisty PHP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Zwiększanie produktywności programisty PHP Adam Puza

  2. Wprowadzenie • Co oznacza termin produktywność indywidualna?Produktywność indywidualna == maksymalne wykorzystywanie możliwości komputera. • Jesteś programistą... ...potrafisz zrobić więcej - wykorzystaj to! ...pracuj na klawiaturze – sięgaj po mysz tylko gdy musisz. • Automatyzuj wszystko co jest możliwe. • Najwięksi wrogowie zwiększania produktywności:-- Nadmierna duma-- Nadmierne przyzwyczajenia-- Lenistwo

  3. Praca z aplikacjami i projektem • Wielokrotny schowek np. ClipX

  4. Szybkie uruchamianie/przełączanie/zamykanie aplikacjiHumanized Enso Launcher1. otwieranie open 2. przełączaniego3. zapamiętywanie (nauka) nowych komend learn as open 4. pozostałe przydatne komendymin max close quit

  5. Enso Launcher - techniki zaawansowaneHumanized Enso Launcher + skrypty (np. AutoHotKey) - Uruchamianie programów/url w kontekście zaznaczonego tekstu http://dict.pl/dict?word=#s&words=&lang=EN - Uruchamianie programów z parametrami c:\windows\notepad.exe #s

  6. Menadżer hasełKeepass - przechowywanie haseł- uruchamianie z automatycznym logowaniem (url, ssh...)

  7. Wydajna praca z Total Commander • Wyszukiwanie zamiast nawigowaniaDlaczego nie zaczynać nazw od podkreśleń, cyfr i znaków specjalnych. • Skróty do często używanych folderówCtrl+\ + Enterc:\_katalog-skrotow\ esky projekt@ tool projekt@ pulpit@ moje dokumenty@

  8. Total Commander – techniki zaawansowaneTotal Commander + AutoHotKey + Enso Launcher - synchroniczne poruszanie po katalogach (obydwa okna jednocześnie) - automatyczne uruchamianie oraz przełączanie do okna z otwartym katalogiem skrótów

  9. Skróty klawiszowe • Naucz się tylu skrótów ile to możliwe • Łatwy sposób na naukę: cofnij i wykonaj ponownie skrótem • Pomocnik nauki na przykładzie KeyPromoter(PhpStorm)

  10. AutoHotKey – wprowadzenie- możliwości języka--- operacje na plikach --- uruchamianie aplikacji--- otwieranie/pobieranie url--- przełączanie programów--- wysyłanie klawiszy do programów--- obsługa schowka- skróty zależne od aplikacji- sekwencje skrótów klawiszowychCtrl+A + Ctrl+SCtrl+A + Ctrl+A- rozwiązanie problemu nakładania się skrótów na skróty globalne

  11. AutoHotKey – techniki zaawansowane (przykłady)- inteligentneuruchamianie skrótem (F1) pomocy (online) w zależności od aplikacji i/lub typu pliku (w kontekście symbolu pod kursorem)np.:IDE pliki *.php : php.netEdytor pliki *.ahk : manual online AutoHotKey- odświeżanie przeglądarki jednym skrótem bez wychodzeniaz programu (IDE, edytor, putty, total commander, itd.)- odświeżanie (wywołanie ostatniej komendy) putty, cmd, cygwin

  12. AutoHotKey – hotstrings (ciągi znaków)- co to „hotstrings”?- ciągi globalne i zależne od aplikacji- przykłady użycia:--- url w przegladarkach --- często używane skróty (np. email)e]\ => mail@domena.pl--- puttycdxTAB => cd /wwwdocs/http/applikacjaX/sdTAB => svn diff –r HEAD | grep Index:- zaawansowane ciągi--- tworzenie nazwy klasy na podstawie nazwy pliku cl]\ w pliku library\Zend\Db\Adapter\Example.php=>class Zend_Db_Adapter_Example

  13. Przeglądarki internetowe – nieodłączne dla PHPOptymalizacja wydajności pracy z przeglądarkami • autoodświeżanie (wspomniane powyżej) • ciągi znaków (wspomniane powyżej) • gesty myszy (skoro już używamy myszy to pracujmy wydajniej) • podpinanie makr pod klawisze myszyprzykład: standardowy fatal error w oknie przeglądarki kliknięcie w fatal error otwiera plik w IDE/edytorze i przechodzi do linii z błędem • Opera vs Firefox-- cache stronczas cofania wstecz i powrotu (10 stron, test.pl):Opera 38 sFirefox 53 s-- zapamiętywanie danych formularzy

  14. Maksymalne wykorzystanie możliwości IDE • Cechy „produktywnego” środowiska-- wyszukiwanie zaawansowane-- podpowiadanie kodu-- automatyzacja np. (tworzenie zmiennych, wyodrębnianie metod)-- szablony kodu-- dobra obsługa skrótów klawiszowych-- szybkość działaniaprzykład produktywnego środowiska: PhpStorm • IDE == najważniejszy program == należy znać jego wszystkie (używane) skróty.Jak należy i jak nie należy uczyć się potrzebnych skrótów. • Wyszukuj zamiast nawigować-- Wyszukiwanie po nazwie klasy, pliku, metody-- Wyszukiwanie – użycie „camel humps” -- Wyszukiwanie i zastępowanie z użyciem wyrażeń regularnych

  15. Live Templates - tradycyjne zastosowanie-- for, fore, if, ife, switch, try... forTAB =>for ($X$;$X$<$Y$;$X$++) {$END$ }for ($X$;$WARUNEK$;$ZMIANA$) { $END$ }

  16. Live templates – niekonwencjonalne zastosowanietTAB=> $this->cTAB=> class0TAB=> falserTAB=> return; r0TAB=> return false; arTAB=> array($END$),=TAB=> => $END$,pTAB=> publicvTAB=> privateoTAB=> protectedpfTAB=> public function $NAME$() {$END$} psfTAB=> public static function $NAME$() {$END$} • Inteligentne live templates (AutoHotKey)- DocComment (/]\)

  17. Praca z tekstem - edytor • Cechy dobrego edytora tekstu- makra- wyrażenia regularne- wykrywanie zmian w plikach- działanie na dużych plikach- kolorowanie składni

  18. Automatyzacja • „Szybkie Skrypty PHP”Dlaczego używać PHP jako języka skryptowego do zastosowań offline?Sposób automatyzacji użycia skryptów PHP. • SeleniumSelenium IDE a zwiększanie wydajności programowania PHP.

  19. Sprzęt • Używaj szybkiego sprzętu • Używaj dwóch monitorówSytuacje w których warto rozważyć użycie trzeciego

  20. Ogólne metody zwiększenia produktywności • Nie wynajduj na nowo koła-- Framework - Twój najlepszy przyjaciel-- korzystaj z gotowych rozwiązań-- wykorzystuj kod wielokrotnie • Nie twórz nadmiarowego kodu • System kontroli wersji- do pracy z projektami PHP- do przechowywania wszelkiego rodzaju skryptów

  21. Wirtualne maszyny • Testowanie nowych rozwiązań • Zamrażanie środowiska i zmiany w „starych” projektach

  22. Na zakończenie...ciekawostka • Formatowanie kodu pod kątem wydajności

  23. PODSUMOWANIE Stale się rozwijaj i ciągle szukaj nowych sposobów na zwiększanie swej produktywności. --------------- Materiały dostępne na stronie: WebDemon.org.pl

More Related