10 najczęściej spotykanych problemów przy tworzeniu kodu Pythona

Dopóki nie zaczniesz biegle posługiwać się kodowaniem w Pythonie, może się okazać, że twoje programy nie będą działać w sposób, w jaki zamierzałeś.
Rzeczywiście, w wielu przypadkach mogą po prostu odmówić wykonywania. Sytuacji tej można często uniknąć, starannie planując kod i budując go z modułów, których już używałeś i przetestowałeś w innych aplikacjach.
Testowanie jest zazwyczaj bardziej skuteczne, jeśli jest przeprowadzane na bieżąco.
Po napisaniu każdej nowej funkcji i modułu zdefiniowanego przez użytkownika należy go dokładnie przetestować w ramach trwającego procesu projektowego.
Jednak nadal mogą wystąpić problemy, nawet z kilkoma wierszami najbardziej niewinnego kodu.
Z doświadczenia autorów wynika, że dziesięć najczęściej spotykanych problemów przy tworzeniu kodu Pythona (wymienionych bez określonej kolejności) to:

1. Niepoprawne wcięcie bloków kodu. Po instrukcji otwierania bloku następny wiersz powinnieć być wcięta (konwencjonalnie przez cztery znaki spacji lub, w przypadku korzystania z powłoki Python, przez jeden znak tabulacji).

2. Zapominając o dodaniu dwukropka na końcu linii, która używa, if, while itd.
Jest to bardzo częsty błąd popełniany przez programistów Pythona po raz pierwszy i zawsze spowoduje błąd składniowy (patrz poniżej).

3. Nie można zapewnić, że cały kod najwyższego poziomu
rozpocznie się w pierwszej kolumnie. Python używa wcięcia, jako separatora dla bloku kodu, więc interpreter będzie się mylić, jeśli okaże się, że Twój kod najwyższego poziomu nie uruchamia się w skrajnej lewej kolumnie.

4. Brak spójności z wcięciem na wielu poziomach. Wszelkie zagnieżdżone bloki kodu (tj. bloki kodu występujące w innych blokach kodu) muszą być zagnieżdżone na właściwym poziomie.
Oznacza to zwracanie szczególnej uwagi na białą spację, która występuje przed każdą linią kodu i zapewnienie, że wstawiona jest prawidłowa liczba spacji.

5. Błędy składniowe – często spotykane są szczególnie tam, gdzie jesteś na wczesnym etapie doświadczeń z językiem.
Błędy składniowe są powodowane, gdy interpreter Pythona nie jest w stanie poprawnie przeanalizować linii kodu. W „czasie wykonywania” analizator składni Pythona będzie zawsze powtarzał linię z błędami. wraz ze strzałką wskazującą punkt w wierszu, w którym wystąpił błąd. Na przykład niedołączenie pełnego dwukropka na końcu instrukcji while.

6. Wyjątki – linia kodu może czasami poprawnie wyglądać pod kątem rozbioru gramatycznego (np. wydawać się poprawna składniowo), ale nadal zawierać błąd, który uniemożliwi jej wykonanie.
W takim przypadku prawdopodobnie otrzymasz wiadomość śledzenia, która zawiera informacje o tym, co się stało.
Istnieje kilka różnych typów wyjątków, w tym ZeroDivisionError, NameError i TypeError.
W osobnym materiale skupimy się na metodach obsługi pewnych rodzajów wyjątków, uczynienie twojego kodu bardziej niezawodnym, a tym samym lepszym w radzeniu sobie z nieoczekiwanymi zdarzeniami.

7. Nie można zaimportować modułów biblioteki, do których odwołuje się Twój kod, a także próbować wykonać kod, który korzysta z niekompatybilnych modułów biblioteki (tj. tych napisanych dla wcześniejszych wersji Pythona).
Zwykle spowoduje to wyjątek NameError (patrz wyżej).

8. Zapominanie o inicjalizacji zmiennych. W Pythonie ważne jest przypisanie wartości do zmiennej przed próbą użycia jej w wyrażeniu. Ten problem często pojawia się, jeśli nie uda się zainicjować licznika do 0 przed testowaniem lub zwiększaniem go.

9. Wywołania funkcji. Podczas wywoływania funkcji (wbudowanej lub zdefiniowanej przez użytkownika) należy pamiętać o użyciu nawiasów otwierających i zamykających bezpośrednio po nazwie funkcji, nawet, jeśli nie przekazuje się żadnych parametrów).
Na przykład należy użyć hasła () zamiast tylko hasła podczas wywoływania funkcji zdefiniowanej przez użytkownika o tej samej nazwie, która nie wymaga żadnych parametrów.

10. Nie można zapewnić prawidłowej kolejności operacji w wyrażeniach Pythona.
Na przykład w = 1 + 2 / 3 * 4. Nawiasy powinny być używane do wykonywania operacji z prawidłową kolejnością pierwszeństwa.
Zauważyć należy, że każde z poniższych wyników daje różne wyniki:
x = (1 + 2) / 3 * 4
y = 1 + (2 / 3) * 4
z = (1 + 2 / 3) * 4
Wreszcie warto zauważyć, że zintegrowane środowisko programistyczne Pythona (IDLE – Integrated Development Environment) dobrze wykorzystuje kolor, który jest automatycznie dodawany, gdy rozpoznaje komentarze, definicje, słowa kluczowe i łańcuchy.
Po wprowadzeniu kodu możesz chcieć mieć na uwadze następujące zestawienia znaczeń:
Kolor elementu (Item Colour)
Komentarze Czerwony (Comments Red)
Definicje Niebieski (Definitions Blue)
Słowa kluczowe Pomarańczowy (Keywords Orange)
Łańcuchy Zielony (Strings Green)

Autor: Mark Tooley

Komentarze z Facebooka

Komentarze obecnie - OFF.