Друковані висловлювання - це щось найгірше з обох світів , що поєднує негативні аспекти онлайн-налагоджувача з діагностичними приладами. Вам потрібно змінити програму, але ви не отримаєте більше, корисного коду від неї.
Онлайн-налагоджувач дозволяє перевірити стан запущеної програми; Але приємним у справжньому налагоджувачі є те, що вам не потрібно змінювати джерело; ні до, ні після сеансу налагодження; Ви просто завантажуєте програму в налагоджувач, говорите налагоджувачу, куди ви хочете шукати, і все готово.
Інструментарій програми може зайняти певну роботу, модифікуючи певним чином вихідний код, але отриманий діагностичний результат може мати надзвичайно багато деталей і може бути ввімкнений або вимкнений до дуже конкретної міри. Модуль протоколювання python може відображати не лише зареєстроване повідомлення, але також файл і функцію, які його викликали, зворотне відстеження, якщо таке було, фактичний час випуску повідомлення тощо. Більше того; діагностичний прилад ніколи не потрібно видаляти; Він настільки ж дійсний і корисний, коли програма закінчена і запущена, як і в день її додавання; але у нього може бути вихід закріплений у файлі журналу, де це, ймовірно, нікого не дратує, або рівень журналу може бути відхилений, щоб усі повідомлення, крім найгостріших, не виходили.
передбачити потребу або використання налагоджувача насправді не складніше, ніж використовувати ipython під час тестування, і ознайомитись із командами, які він використовує для управління вбудованим налагоджувачем pdb.
Коли ви виявляєте, що думка про те, що оператор друку може бути простішим, ніж використання pdb (як це часто буває), ви виявите, що використання реєстратора призводить до того, що ваша програма набагато легше працювати в стані, ніж якщо ви використовуєте та пізніше видаляєте оператори друку .
У моєму редакторі налаштовано висвітлювати оператори друку як синтаксичні помилки , а оператори реєстрації - як коментарі, оскільки саме так я їх розглядаю.