Julia Di Russo
Julia Di RussoData Scientist @ Sogeti

4 powody, dla których warto używać PyCharm

Dowiedz się, jakie są 4 główne zalety korzystania z PyCharm, zwłaszcza jeśli chodzi o duże projekty.
2.12.20205 min
4 powody, dla których warto używać PyCharm

PyCharm to najpopularniejszy edytor kodu Pythona, zaraz obok Spyder. Kiedy zaczynałam go używać, to programowałam akurat system rekomendacyjny w związku z moim projektem dyplomowym. Polecił mi go mój promotor, a ja wówczas nie miałam pojęcia o wszystkich zaletach PyCharm. Wiedziałam, że był zintegrowany z Anaconda, który trochę ułatwił mi kiedyś życie. Ale na tym moja wiedza się kończyła. 

Będąc szczerą, to nie zbyt dużo wiedziałam też o kontroli wersji. 3 lata później nadal używam PyCharm, ale tym razem mam konkretne ku temu powody. Wybór edytora nie ma zwykle większego znaczenia, gdy eksperymentujesz z uczeniem maszynowym lub kodowaniem krótkich projektów, które nie wymagają złożonych struktur, czy skryptów zorganizowanych w moduły.

Problemy i preferencje pojawiają się zwykle, gdy projekty stają się większe. Mowa tutaj o takich, gdzie pojawia się współpraca nad tymi samymi skryptami, modułami i testami. To właśnie w takich przypadkach funkcje PyCharm mogą sporo pomóc każdemu programiście Pythona.

Mówię tutaj tylko o funkcjach dostępnych w wersji community, a nie profesjonalnej. Mamy więc wersję darmową ze wszystkimi tymi funkcjami. Opiszę tutaj 4 rzeczy w PyCharm, które miały naprawdę pozytywny wpływ na moje ostatnie projekty w Pythonie:

  • Gdzie jest Wally: pomaga łatwo poruszać się po dużych projektach
  • Integracja z Git: łatwa kontrola wersji, w tym szybkie rozwiązywanie konfliktów
  • Dzielenie okien: pomaga uzyskać lepszy obraz kodu podczas programowania
  • Debugowanie: jak uniknąć niezliczonych instrukcji print

Gdzie jest Wally?

Każdy programista wie, jak bolesne jest to, że nie można znaleźć definicji jakiejś funkcji w kodzie. Znasz jej nazwę i wiesz, jak wygląda. Funkcja „Wally” robi zatem coś istotnego - gdy skryptów jest dużo i są dość długie, ustalenie, gdzie ta funkcja została zdefiniowana, może być trudne.

PyCharm ma zatem naprawdę fajną opcję, która umożliwia wyszukiwanie wystąpień słowa kluczowego w dowolnym miejscu projektu. Coś podobnego do CTRL-F, ale lepsze.


Funkcja Find in Path

Lokalizacja: Edit> Find> Find in Path lub użyj skrótu CTRL-Shift-F.


Okno Find in Path w PyCharm


Funkcja „Find in Path” może być niezwykle przydatna, gdy trzeba znaleźć pierwszą referencję do zmiennej lub funkcji. Ma ona również kilka opcji zmiany zasięgu wyszukiwania, jeśli chcę się uwzględnić biblioteki, czy określony moduł. „Replace in Path” działa w ten sam sposób i jest tak samo przydatne. Funkcja ta może automatycznie zastąpić wszystkie wystąpienia słowa kluczowego w moim projekcie / module / zasięgu.

Zawsze też dowiadujemy się, czy funkcja jest importowana, czy nie, oraz przechodzimy do folderów, aby znaleźć odpowiedni moduł (jeśli funkcja jest tylko w jednym). Następnie przewijamy skrypt, aż znajdujemy naszą definicję funkcji. 

Często jednak brakuje czasu i cierpliwości, więc jeśli chodzi o łatwą nawigację po dużych projektach, to każda pomoc jest mile widziana.


Ostrzeżenie

Ważne jest tutaj to, że funkcja ta staje się bezużyteczna, jeśli będziesz nadawać te same nazwy swoim funkcjom lub zmiennym, np. „x, y, z”, „result” i „df”.

Radziłabym nadać możliwie unikalne, ale przede wszystkim zgodne z przeznaczeniem nazwy swoim zmiennym i funkcjom i zrobić to, zanim projekt się powiększy. Warto też to robić ze względu na innych programistów, którzy będą musieli nad tym projektem pracować.

Łatwe korzystanie z kontroli wersji

Zrozumienie znaczenia kontroli wersji przychodzi wraz z jej używaniem. Na szczęście, PyCharm jest niezwykle proste w użyciu z Git. Niezależnie od tego, czy chcesz używać wiersza poleceń, czy GUI, to masz sporo opcji do wyboru.

Możesz użyć tej opcji w sekcji Version Control. Możesz wtedy commitować i  pushować do swoich gałęzi, powrócić do poprzedniej wersji skryptu, a także porównać gałęzie.

Da się też łatwo sprawdzić, w której gałęzi się aktualnie znajdujesz w prawym dolnym rogu ekranu.


Funkcja Resolve conflict

Lokalizacja: VCS > Git > Resolve Conflicts

Okno Resolve Conflict z jetbrains.com


Funkcja „Resolve Conflict” w PyCharm jest według mnie najlepszą funkcją. Oszczędziła mi ona bólu podczas rozwiązywania wielu konfliktów w kilku skryptach. W przypadku wystąpienia konfliktu po lokalnym scaleniu gałęzi PyCharm wyświetli na czerwono wszystkie pliki z konfliktami.

Po otwarciu okna „Resolve Conflicts” we wspomnianej wyżej lokalizacji PyCharm wyświetla wersję moich gałęzi, wersję scaloną i wersję gałęzi, którą próbuję scalić obok siebie, w jednym oknie.

W przypadku każdej zmiany lub konfliktu mogę zdecydować, która część kodu powodującego konflikt ma zostać uwzględniona w połączonym skrypcie. Nie wspominając już o tym, że gdy kilku programistów pracuje nad tym samym projektem, konflikty przy scalaniu zdarzają się bardzo często.

A co, gdy potrzebujemy więcej okien?

Lokalizacja: kliknij prawym przyciskiem myszy na nazwę skryptu> Move Right


Opcja Move Right 


Często muszę przechodzić między różnymi skryptami, gdy piszę nowy lub aktualizuję istniejący. Musimy też czasem przyjrzeć się zastosowanym konwencjom kodu, nazwie funkcji zdefiniowanej w innym skrypcie lub sposobowi, w jaki wcześniej coś zakodowałem.

PyCharm też sobie tutaj dobrze radzi. Umożliwia dzielenie i przenoszenie okien, tak aby wyświetlić jeden lub więcej skryptów obok tego, nad którym aktualnie pracujesz. To naprawdę pomaga, jeśli chcesz zachować spójność w działaniu i wyglądzie kodu.

Pozbądź się bugów

Debugowanie w dużym projekcie może być dość bolesne, a rezultat nie taki, jak chcemy. Sprawdzenie, dlaczego i gdzie mój dataframe uzyskuje zduplikowane wartości, może wymagać niezliczonych instrukcji print w kilku miejscach w moim kodzie - a to może się źle skończyć.


Debugger

Lokalizacja: kliknij prawym przyciskiem na nazwę skryptu > Debug ‘test’

Ważne narzędzia debuggera


Korzystając z breakpoints i debugger mode, możesz łatwo podejrzeć zmienne w dowolnym miejscu w kodzie. Za każdym razem, gdy Twój kod zatrzyma się w breakpoint, okno debugowania pokaże wartość każdej zmiennej i pozwoli zajrzeć również do Twoich dataframes.

Możesz także kliknąć mały kalkulator, aby zapisać wyrażenia dotyczące zmiennych tymczasowych. Jeśli poruszasz się po kodzie za pomocą kursora, możesz również zobaczyć, jak modyfikowana jest zawartość Twoich zmiennych, wiersz po wierszu. jetbrains.com ma też fajny samouczek dotyczący debuggera.

Dziękuję za uwagę!


Oryginał tekstu w języku angielskim możesz przeczytać tutaj.

Masz jakieś przemyślenia na temat powyższego tekstu? Podziel się nimi w komentarzu?

<p>Loading...</p>