Оцінка пріоритетності проблеми¶
BeeWare регулярно отримує повідомлення про проблеми від користувачів, які стикаються з труднощами. Коли надходить повідомлення про нову проблему, його потрібно проаналізувати — тобто хтось повинен прочитати повідомлення, взяти до уваги інформацію, надану автором, і спробувати відтворити описану проблему.
На жаль, хоча повідомлення про проблеми зазвичай подаються з благими намірами, вони часто виявляються неповними або заплутаними. Мета процесу сортування полягає в тому, щоб заповнити прогалини в оригінальному повідомленні. Це означає або надати достатньо деталей, щоб ми могли підтвердити, як саме можна відтворити проблему, або ж підтвердити, що автор оригінального повідомлення помилився у своєму описі.
Оцінка проблеми не означає, що від вас очікують її виправлення. Залежно від характеру проблеми, оцінка може навіть не передбачати написання коду. Ви можете оцінити проблему, маючи дуже обмежені знання про BeeWare, оскільки вам достатньо виконати кроки, зазначені у звіті, та відтворити описану проблему.
Оцінка пріоритетності проблем, що надходять¶
Відтворити проблему
Відтворення проблеми¶
Неможливо вирішити проблему, якщо її взагалі немає. Тому відтворення проблеми є необхідною умовою для її усунення. У сфері програмного забезпечення проблеми зазвичай називають «багами», а повідомлення про них — «звітами про баги».
Хтось надіслав звіт про помилку. Вам потрібно перевірити, чи дійсно дії, описані автором звіту, призводять до виникнення зазначеної помилки. Чи можете ви відтворити той самий результат, виконавши всі дії точно так, як описано у звіті? Якщо ні, вам потрібно з’ясувати, чому.
Щоб розпочати відтворення проблеми, вам знадобиться налаштована середовище розробки.
Помилки в коді¶
В ідеальному випадку у вас буде така сама конфігурація, як і в людини, яка повідомила про помилку; ви виконаєте вказані кроки і зможете відтворити помилку, як описано. Однак у багатьох випадках все не буде настільки просто. Багато повідомлень про помилки містять лише нечіткі пояснення та нечіткий набір умов. Проблема полягає в тому, що багато помилок залежать від набору умов, зокрема від того, як з ними взаємодіють, від різних попередніх умов, операційної системи, її версії, архітектури процесора, а також від того, чи комп’ютер користувача старий і повільний, чи новий і швидкий. Чим більше інформації ми маємо про обставини, пов’язані з помилкою, тим краще. Спробуйте відтворити набір умов, який надав автор повідомлення. Якщо вам це не вдається, наступним кроком може бути запит додаткової інформації у особи, яка повідомила про помилку.
Найкращий спосіб відтворити помилку — це використовувати найменший можливий приклад, у якому все ще спостерігається ця проблема. У більшості випадків автори повідомлень не надають мінімально придатного прикладу; якщо вони взагалі надають будь-який приклад, то він буде скопійований безпосередньо з їхнього «реального» додатка. Ваша мета — звести звіт до найпростішої форми, яка демонструє проблему. Найкращим прикладом для відтворення є найменша за розміром програма. Таке спрощення саме по собі є корисним, оскільки дозволяє визначити, у чому полягає справжня проблема. Будь-хто може взяти мінімальний приклад, запустити його та спостерігати описану помилку.
Помилки в документації¶
Помилки в документації можуть проявлятися по-різному. Існують проблеми з форматуванням, що призводять до проблем з відображенням. Іноді це навіть не помилка; можливо, людина неправильно прочитала документацію або просто припустилася помилки. Це не обов’язково означає, що з документацією все гаразд. Зміст може бути нечітким або неточним, що створює підстави для плутанини чи неправильного тлумачення. Можливо, що певне поняття, яке слід було б розглянути, не розглядається, оскільки воно взагалі не задокументоване.
Коли створюється запис про помилку, пов’язану з документацією, слід переконатися, що зазначена проблема дійсно все ще існує. У разі проблем з відображенням потрібно зібрати документацію, щоб перевірити, чи можна відтворити цю проблему. Щодо проблем із змістом, то тут достатньо просто прочитати текст, щоб переконатися, що ніхто не надіслав оновлення.
Оновити інформацію про проблему¶
Останнім етапом процесу сортування є фіксація отриманих результатів шляхом додавання коментаря до проблеми.
Якщо вам вдалося відтворити проблему саме так, як описано, цього достатньо. Залиште коментар, у якому вкажіть, що ви підтвердили наявність тієї самої проблеми, яка описана автором повідомлення.
Якщо ви можете надати додаткову інформацію, то, будь ласка, вкажіть її. Це може стосуватися можливості відтворити проблему в іншій операційній системі, з іншою версією певного програмного забезпечення або будь-яких інших відмінностей від початкового повідомлення.
Якщо в оригінальному звіті бракувало деталей, необхідних для відтворення проблеми, додайте саме ці деталі. Це може включати вказівку інформації про операційну систему або її версію, якої не було в оригінальному звіті, більш повні журнали або траси стека, а також чіткіші інструкції щодо точної послідовності дій, необхідних для відтворення проблеми. Якщо ви розробили простіший спосіб відтворення проблеми (або автор оригінального звіту не надав прикладу відтворення), ви можете додати детальну інформацію щодо цієї методики відтворення.
Якщо ви не можете відтворити проблему, то також залиште коментар, детально описавши, що ви пробували. Знати, де проблема не існує, майже так само важливо, як і знати, де вона існує, оскільки це допомагає звузити коло можливих причин. Якщо у вас є якісь припущення щодо того, чому вам не вдається відтворити проблему — наприклад, якщо ви вважаєте, що це помилка у використанні або що проблема була вирішена завдяки нещодавньому оновленню операційної системи — включіть ці припущення до свого коментаря.
Наостанок ви можете надати основній команді свої рекомендації. Якщо ви вважаєте, що в оригінальному звіті міститься помилка, запропонуйте закрити цю проблему; якщо у вас є припущення щодо причини проблеми, ви також можете висловити його. Ваші коментарі допоможуть основній команді визначитися з тим, як рухатися далі у вирішенні цієї проблеми.
На цьому етапі ви можете спробувати виправити проблему, яку щойно відтворили; або ж ви можете описати свої висновки та спробувати відтворити іншу проблему.