Как да отстранявате грешки като професионалист с Python
Отстранете грешки в кода си с уеб интерфейса на Debugger
Резюме
Обичате ли да пишете код, но мразите, когато се срива? Тогава ще харесате този инструмент, който прави отстраняването на грешки забавно.
Отстраняване на грешки е процес на откриване и премахване на съществуващи и потенциални грешки („бъгове“) в софтуерен код, които могат да доведат до неочаквано поведение или срив. Това е неприятно за програмистите от 1940 г., когато Грейс Хопър, работеща върху компютър Mark II в Харвардския университет, открива молец, заседнал в реле, което пречи на работата (оттук и терминът „дебъгване“ на системата)“. Дори преди това, «Томас Едисон използва този термин, за да опише механични неизправности в хардуерното инженерство.
Чрез този урок ще покажа какъв инструмент използвам за отстраняване на грешки в кода на Python.
Дебъгерът на Python
Първо, ще създам скрипт, който да използвам като пример:
class Model(): def __init__(self, x1, x2): self.x1 = x1 self.x2 = x2 def calculation(self): self.sum = self.x1 + self.x2 return self.x1 * self.x2 def result(self): prod = self.calculation() res = self.sum + prod return res if __name__ == "__main__": m = Model(x1=3, x2=5) print(m.result())
Ако бъде изпълнен, този скрипт ще отпечата „23“ на вашия терминал. Ами ако искаме да видим как входовете се използват и трансформират в процеса? Нека да го отстраним...
Python има вграден инструмент за отстраняване на грешки: pdb. Просто трябва да импортираме пакета и да зададем проследяване, за да задействаме сесията за отстраняване на грешки, където искаме.
Това автоматично ще влезе в постмортално отстраняване на грешки, ако програмата, която се отстранява, излезе необичайно. Отстраняването на грешки след смъртта включва проверка на състоянието на дадено приложение, което се е сбило, за да се определят условията, довели до повредата. След като излезете от програмата, pdb ще рестартира програмата.
Полезно, нали? Пакетът web_pdb е дори по-добър: той предоставя уеб интерфейс за вградения в Python pdb дебъгер.
Това ще стартира уеб приложение на вашия localhost:5555, където не само можете да отстраните грешки във всички изчисления, но също така показва глобалните и локалните променливи (от дясната страна).
Това е готин начин да направите такова скучно нещо като отстраняване на грешки във вашия код (или дори по-лошо … код на някой друг)!
Надявам се да ви е харесало! Чувствайте се свободни да се свържете с мен за въпроси и обратна връзка или просто да споделите вашите интересни проекти.