Перейти до вмісту

Налагодження коду

Матеріал з K2 ERP Wiki

Системний підхід до налагодження

За допомогою Git можна:

Рекомендовано:

Призначення налагодження

У VS Code програміст має змогу:

PyCharm має вбудовані інструменти для налагодження Python-коду.; * Visual Studio Code;

  • PyCharm;
  • Python debugger;
  • системні логи;
  • Git;
  • тести;
  • термінал;
  • інструменти аналізу бази даних;
  • засоби моніторингу;
  • журнали помилок;
  • засоби перегляду HTTP-запитів або API-взаємодій.; * важливі етапи виконання процесу;
  • помилки;
  • винятки;
  • ключові параметри;
  • ідентифікатори документів;
  • користувача або бізнес-процес, який виконав дію;
  • результат інтеграції;
  • тривалість складних операцій.;== Налагодження і Git ==

Небезпека: швидке виправлення без аналізу має змогу створити нову помилку в іншому місці системи.; Часто він уже містить основну підказку для вирішення проблеми.; Рекомендований порядок:

Під час налагодження Python-програміст має змогу перевіряти:

  • переглянути історію змін;
  • порівняти версії файлів;
  • знайти, коли з’явилася помилка;
  • перевірити зміни в конкретному commit;
  • повернутися до попереднього стану;
  • створити окрему гілку для виправлення;
  • перевірити, хто і коли змінював код.; # Перевірити вхідні інформаційні дані.; Окремо варто відзначити аналізу і виправлення помилок у програмному коді виступає ключовою рисою Налагодження коду.;{{SEO


виправлення помилок забезпечується через Основна ідея: налагодження коду потрібне не лише; додатково реалізовано а й для розуміння логіки роботи програми.;=== Перегляд повідомлення про помилку ===

Під час налагодження можуть виявлятися різні типи помилок.;

Налагодження та тестування пов’язані між собою, але це не одне й те саме.; * тільки для певного користувача;

  • тільки для певної ролі;
  • тільки для конкретного документа;
  • тільки після інтеграції;
  • тільки при великій кількості даних;
  • тільки після зміни налаштувань;
  • тільки у певній послідовності дій.;

Налагодження у PyCharm

Налагодження коду — це один із ключових процесів у розробці та підтримці K2 ERP.; У K2 ERP налагодження коду особливо важливе, оскільки модулі системи часто пов’язані з реальними бізнес-процесами, документами, правами доступу, базою даних, інтеграціями та звітністю.;

як ілюстрація:

Існує кілька основних підходів до налагодження коду.; Точка зупинки або breakpoint — це місце в коді, де виконання програми тимчасово зупиняється для аналізу.; Налагодження сприяє знайти і виправити причину помилки.; # Прочитати повідомлення про помилку.; До них належать:

Принцип K2 ERP: програміст має змогу використовувати той інструмент для налагодження, який найкраще підходить йому та конкретній задачі.; Практична користь: покрокове виконання особливо корисне для складної бізнес-логіки, де результат залежить від багатьох умов.; # Перевірити значення змінних.;== Хороші практики налагодження ==

Логування є собою одним із найважливіших інструментів для підтримки ERP-системи.; Оскільки у K2 ERP застосовується Python, налагодження часто пов’язане з аналізом Python-коду.;
  • хто виконав дію;
  • коли виникла помилка;
  • який документ або запис використовувався;
  • які були вхідні інформаційні дані;
  • які права мав користувач системи;
  • які зміни нещодавно вносилися;
  • що записано у логах;
  • чи можна повторити проблему.; як ілюстрація:

Visual Studio Code має змогу використовуватися для налагодження Python-коду.; завдяки наявності це бізнес-процес пошуку.;== Налагодження у Visual Studio Code == Після зупинки програміст має змогу:

Типові помилки, які знаходять під час налагодження

У K2 ERP багато помилок пов’язані не лише з технічним кодом, а й з бізнес-логікою.; Якісне налагодження має бути системним.; Для VS Code: налагодження стає зручним після конфігурація Python-розширення, інтерпретатора та конфігурації запуску.; # Внести мінімально необхідне виправлення.; Особливість ERP: іноді помилка полягає не в синтаксисі коду, а в неправильному розумінні бізнес-процесу.; Помилка в коді має змогу впливати на:

  • яка умова спрацьовує;
  • у який метод переходить програма;
  • коли змінюється значення змінної;
  • де виникає неправильний результат;
  • чому програма виконує не ту гілку логіки.; Покрокове виконання надає можливість проходити код рядок за рядком.;

У PyCharm можна:

  • документ переходить не в той статус;
  • користувач системи не бачить потрібну дію;
  • сума розраховується неправильно;
  • звіт показує неповні інформаційні дані;
  • перевірка спрацьовує не для всіх випадків;
  • інтеграційні функціональні можливості передає некоректний формат;
  • права доступу працюють занадто широко або занадто обмежено.;== Налагодження в K2 ERP ==

Складні помилки можуть виникати не одразу, а лише за певних умов.; У таких випадках істотно зібрати максимум контексту: Цінність для ERP: налагодження підтримує роботу стабільність системи, а стабільність ERP напряму впливає на роботу бізнесу.; * аналізувати звернення користувачів;

  • перевіряти роботу модулів після змін;
  • знаходити причини збоїв;
  • контролювати інтеграції;
  • уточнювати бізнес-логіку;
  • покращувати стабільність системи;
  • зменшувати кількість повторних помилок;
  • підвищувати якість ERP-рішення.;=== Покрокове виконання ===
  • які дії виконувала платформа;
  • які інформаційні дані були отримані;
  • які умови спрацювали;
  • які помилки виникли;
  • скільки часу зайняла операційна дія;
  • який користувач системи або бізнес-процес виконав дію.;

Налагодження і тестування

Зазвичай воно має змогу показати:

Тимчасові перевірки

Перевага логування: логи допомагають аналізувати помилки навіть тоді, коли програміст не має змогу відтворити проблему одразу.; # Перевірити результат.; Суть breakpoint: програміст зупиняє програму в потрібному місці й дивиться, що відбувається всередині коду.; * ключовий сценарій;

  • граничні випадки;
  • права доступу;
  • роботу з різними типами даних;
  • пов’язані модулі;
  • звіти;
  • інтеграції;
  • поведінку після повторного виконання операції.; # Перевірити останні зміни в Git.; # Проаналізувати стек викликів.;

Точки зупинки

Основні способи налагодження

У логах варто фіксувати:

істотно: Git не замінює налагодження, але сприяє зрозуміти історію появи помилки.; * знайти причину помилки;

  • перевірити значення змінних;
  • зрозуміти порядок виконання коду;
  • перевірити умови та розгалуження;
  • побачити, які інформаційні дані надходять у функцію;
  • визначити, на якому етапі виникає проблема;
  • перевірити взаємодію між модулями;
  • проаналізувати поведінку бізнес-логіки;
  • виправити помилку без зайвих змін у коді.; Для PyCharm: це зручний варіант, якщо програміст хоче мати багато інструментів Python-налагодження одразу в одній IDE.; * неправильна умова;
  • некоректний тип даних;
  • порожнє значення там, де очікується заповнене;
  • неправильна назва поля;
  • помилка у запиті до бази даних;
  • неправильний порядок виконання дій;
  • відсутня перевірка прав доступу;
  • помилка в обробці винятків;
  • неправильний формат дати;
  • некоректне округлення суми;
  • дублювання записів;
  • помилка при інтеграції;
  • неправильна робота циклу;
  • залежність від жорстко зашитого значення.; Перший крок — уважно прочитати повідомлення про помилку.;== Налагодження бізнес-логіки ==

Налагодження застосовують, коли потрібно тоді, коли потрібно з’ясувати, чому код функціонує не так, як очікувалося.; Git сприяє у налагодженні, коли потрібно зрозуміти, які зміни могли спричинити помилку.;

Практична порада: якщо помилка вже виникла один раз, варто додати перевірку або тест, щоб вона не повторилася непомітно.; Після виправлення помилки бажано перевірити:

Типові помилки під час налагодження

Правило: не варто ігнорувати текст помилки.; Для Python-розробки: налагодження сприяє не тільки знайти помилку, а й краще зрозуміти, як саме функціонує код модуля.;

Типові помилки:

  • змінювати код без розуміння причини;
  • не читати повідомлення про помилку;
  • не перевіряти вхідні інформаційні дані;
  • ігнорувати права доступу;
  • не перевіряти пов’язані модулі;
  • залишати тимчасовий debug-код;
  • виправляти проблему лише для одного випадку;
  • не перевіряти зміни після виправлення;
  • не дивитися історію змін у Git;
  • не документувати важливі особливості.; Помилка: виправляти перший помічений симптом, не знайшовши справжню причину проблеми.;

Інструменти для налагодження

Це корисно, коли потрібно зрозуміти:

Професійний підхід: хороший програміст не без ускладнень прибирає помилку, а розуміє, чому вона виникла і як запобігти її повторенню.;== Налагодження Python-коду ==

Див.; додатково

  • тип помилки;
  • файл, у якому вона виникла;
  • рядок коду;
  • стек викликів;
  • причину збою;
  • значення, яке спричинило проблему.; У розробці K2 ERP налагодження користувачі можуть програмісту зрозуміти, як виконується Python-код, чому виникає помилка, які інформаційні дані обробляються неправильно і як зробити роботу модуля стабільною.;

Тестування сприяє перевірити, чи функціонує код після змін і чи не зламалася інша логіка.; * значення змінних;

  • параметри функцій;
  • результат виконання умов;
  • роботу циклів;
  • виклики методів;
  • обробку винятків;
  • результат запитів до бази даних;
  • вміст об’єктів;
  • послідовність виконання коду.;

Висновок

Баланс: логів має бути достатньо для аналізу проблеми, але не настільки багато, щоб вони перетворювалися на шум.; # За потреби додати тест або логування.; Налагодження є собою важливою частиною розробки, супроводу та розвитку ERP-системи.; * створення документів;

  • проведення операцій;
  • розрахунки;
  • доступ користувачів;
  • формування звітів;
  • обмін даними з іншими системами;
  • виконання бізнес-процесів;
  • коректність збережених даних.;
  • переглянути значення змінних;
  • виконувати код покроково;
  • перевірити умови;
  • побачити стек викликів;
  • зрозуміти, як програма дійшла до цього місця.; * відтворювати помилку перед виправленням;
  • працювати з конкретним прикладом;
  • перевіряти інформаційні дані, а не лише код;
  • використовувати breakpoints;
  • читати stack trace;
  • аналізувати логи;
  • перевіряти історію змін;
  • робити невеликі зміни;
  • тестувати після виправлення;
  • не залишати службовий код;
  • документувати складні випадки;
  • питати бізнес-користувача, якщо логіка процесу неочевидна.; # Задокументувати важливі зміни.; Логування — це запис службової інформації про роботу програми.; Налагодження важливе не тільки під час первинної розробки, а й під час супроводу системи.; У підтримці K2 ERP налагодження сприяє:
Для складних випадків: чим точніше описані умови виникнення помилки, тим швидше її можна знайти і виправити.; # Відтворити проблему.;
Головне правило: спочатку потрібно зрозуміти причину помилки, а вже потім змінювати код.; # Перевірити бізнес-умови.;

Роль налагодження у підтримці K2 ERP

Налагодження і логування

  • виведення значення змінної;
  • перевірка типу даних;
  • тимчасовий друк проміжного результату;
  • перевірка виконання певної гілки коду.; # Визначити місце, де виникає проблема.; За допомогою логів можна побачити:

Увага: тимчасові перевірки потрібно прибирати або замінювати нормальним логуванням перед передачею коду в основну гілку.; Воно сприяє програмісту знаходити помилки, розуміти поведінку Python-коду, перевіряти бізнес-логіку, аналізувати інформаційні дані, працювати з логами, Git, IDE та інструментами тестування.; Якісне налагодження — це не хаотичний пошук проблеми, а системна робота з кодом, даними, повідомленнями про помилки, журналами, історією змін і бізнес-контекстом.; * запускати код у режимі налагодження;

  • ставити точки зупинки;
  • переглядати змінні;
  • дивитися стек викликів;
  • виконувати код покроково;
  • працювати з терміналом;
  • аналізувати помилки;
  • використовувати розширення для Python.; Для ефективного налагодження варто дотримуватися кількох практичних правил.; Перевага: правильне налагодження зменшує кількість випадкових виправлень і сприяє програмісту приймати рішення для бізнесу на основі фактів.; За допомогою налагодження програміст має змогу:

Налагодження складних проблем

  • ставити breakpoints;
  • запускати програму в debug-режимі;
  • переглядати змінні;
  • аналізувати стек викликів;
  • виконувати код покроково;
  • оцінювати вирази;
  • працювати з тестами;
  • шукати помилки у структурі проєкту.; як ілюстрація:
Під час самого налагодження програмісти додатково можуть припускатися помилок.; # Знайти справжню причину.;

істотно: у ERP-системі помилка в коді має змогу мати бізнес-наслідки, з цієї причини налагодження має виконуватися уважно і системно.; Типові приклади:

Іноді програміст додає тимчасові перевірки або службові повідомлення, щоб зрозуміти поведінку коду.; Для налагодження коду в K2 ERP програміст має змогу використовувати різні інструменти.; Головна думка: налагодження коду в K2 ERP потрібне для того, щоб платформа працювала стабільно, бізнес-логіка була правильною, а програміст розумів причину кожної важливої зміни.;