Thread View: pl.comp.lang.python
3 messages
3 total messages
Started by Petey
Mon, 02 May 2011 19:14
Re: Przydatne narzędzia.
Author: Petey
Date: Mon, 02 May 2011 19:14
Date: Mon, 02 May 2011 19:14
5 lines
1705 bytes
1705 bytes
Od jakiegoś czasu korzystam właśnie z linuxa, gdyż pod windowsem pojawiały się różne problemy, które było trudno rozwiązać. Jeszcze jedna rzecz, kiedy zacząć uczyć się debuggowania? Czy używać klasy do debugu w pythonie, czy korzystać zewnętrznych klas do debugowania? W jaki sposób się za to zabrać (chodzi o to czy równolegle z nauką kodowania np. oop, czy dopiero po jakimś czasie)? Wiem, że jest to bardzo istotna rzecz i na początku zapewne będzie trudniej wszystko pojąć, lecz same wskazówki praktyczne będą przydatne w przyszłości.
Re: Przydatne narzędzia.
Author: Rob Wolfe
Date: Mon, 02 May 2011 20:39
Date: Mon, 02 May 2011 20:39
46 lines
3099 bytes
3099 bytes
Petey <efrinut@gmail.com> writes: > Od jakiegoś czasu korzystam właśnie z linuxa, gdyż pod windowsem > pojawiały się różne problemy, które było trudno rozwiązać. > > Jeszcze jedna rzecz, kiedy zacząć uczyć się debuggowania? Czy używać > klasy do debugu w pythonie, czy korzystać zewnętrznych klas do > debugowania? W jaki sposób się za to zabrać (chodzi o to czy > równolegle z nauką kodowania np. oop, czy dopiero po jakimś czasie)? > > Wiem, że jest to bardzo istotna rzecz i na początku zapewne będzie > trudniej wszystko pojąć, lecz same wskazówki praktyczne będą przydatne > w przyszłości. Nie wiem czy to tylko moja przypadłość, ale z debuggera w przypadku Pythona korzystam niezwykle rzadko (przeważnie przy pisaniu jakichś rozszerzeń w C). Być może wynika to z faktu, że proces tworzenia programu w Pythonie wygląda nieco inaczej niż w językach bez interaktywnego intepretera. Pisząc kod w Pythonie uruchamiam funkcję po funkcji i obserwuję na bieżąco co się dzieje. Drugą linią obrony jest jakiś statyczny analizator kodu (w moim przypadku `pyflakes` [1]_), który w locie wyłapuje proste błędy, typu literówki, brak importu itp. Inne tego typu narzędzia to np.: PyChecker i PyLint. Trzecia zapora to oczywiście testy, np. doctesty [2]_, czy unittesty [3]_. Dodatkowo często używam modułu `logging` [4]_ do wypisywania istotnych informacji, które mogą pomóc przy rozwiązywaniu ewentualnych problemów. Także sytuacja, w której wszystkie powyższe zabiegi nie wystarczą i muszę odpalić debugger zdarza się bardzo rzadko. Jak już do tego dojdzie to akurat debugger w pydev jest OK. Reasumując polecałbym zainwestowanie czasu i energii w naukę korzystania z narzędzi typu PyFlakes i pisanie dobrych testów *wraz* z rozwojem kodu. Także wyrobienie sobie nawyku rozwijania programu w ścisłej współpracy z interpreterem, czyli zapominamy o znanym skądinąd sposobie: 12h hakowania, po czym odpalenie i żmudne debuggowanie. RW .. [1] https://launchpad.net/pyflakes .. [2] http://docs.python.org/library/doctest.html .. [3] http://docs.python.org/library/unittest.html .. [4] http://docs.python.org/library/logging.html
Re: Przydatne narzędzia.
Author: Michal
Date: Mon, 02 May 2011 21:55
Date: Mon, 02 May 2011 21:55
1 lines
987 bytes
987 bytes
Ucz sie w miare potrzeb. Jezeli teraz nie potrzebujesz debugowac to szkoda czasu.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads