Как оформить тему об ошибке в коде?

InstantCMS 2.X

взгляд на ошибки в коде со стороны человека, который их иногда чинит

#1 2 декабря 2021 в 12:40

Регулярно посматриваю на форум и, что совершенно не удивительно, вижу обращения с просьбой помочь с ошибкой. Ситуации разные, но хотел бы заострить внимание на темах об ошибках в коде. Поскольку с такими проблемами я как правило борюсь самостоятельно, то приведу простую схему, которая для меня работает.
Возьмем какой-нибудь фрагмент кода, например

  1. <?php
  2. $obj = new stdClass();
  3. $obj->var = 9;
  4. var_dump($obj);
  5. $obj->read();

В нем нет глубинного смысла, важно то, что он содержит ошибку. Итак, скрипт запускался из консоли

  1. $ php -f error.php
  2. object(stdClass)#1 (1) {
  3. ["var"]=>
  4. int(9)
  5. }
  6. PHP Fatal error: Uncaught Error: Call to undefined method stdClass::read() in /home/yozh/php-apps/trial/errors/error.php:6
  7. Stack trace:
  8. #0 {main}
  9. thrown in /home/yozh/php-apps/trial/errors/error.php on line 6

Переходим к самой схеме.
Первое. Стоит внимательно ознакомится с проблемным местом, где случилась ошибка. Сейчас оно у вас перед глазами, но в реальном проекте нужно найти файл и участок кода.
Второе. Если есть трудности с переводом, копирую текст ошибки, в данном случае от «PHP» до «method» включительно и засовываю в Гугл-транслейт.  И становится немного понятнее характер ошибки. Если идей, как исправить нет, то
Третье. Вставляю текст ошибки в поиск сайта. Может быть кто-то из форумчан сталкивался с подобным? Если ничего похожего, то
Четвертое. Вставляю текст ошибки в поисковик. Вываливается несколько страниц ответов. И тут понимаешь, что ошибка твоя неуникальна, а просматривая ссылки ещё и понимаешь, что кто-то уже подобную проблему даже решил. Не нужно смущаться ответов на английском языке. Браузеры семейства Хром имеют встроенный переводчик, пользуйтесь им и своей интуицией.

Если после после просмотра 3-5 первых ссылок из поиска нет ни одной мысли как исправить ошибку, ты деморализован и подавлен, то, конечно, стоит обратиться на форум.
Подчёркиваю, именно в этот момент, а не сразу как только вы получили ошибку.
Теперь пожелания, что постить на форум.  Об этом написано в правилах (но кто их читает?). 
Вам, видимо, уже становится понятнее почему программисты не любят код и ошибки, представленные в виде скриншотов :
— код, ошибки или примеры данных в изображениях не могут быть скопированы и вставлены в редактор/переводчик/поисковик для анализа проблемы,
— изображения труднее читать, чем текст,
— изображения не могут быть найдены и поэтому бесполезны для будущих читателей.
Копируйте текст ошибки и кладите на форум в виде текста.

В приведённом выше примере достаточно щелкнуть по спойлеру, чтобы увидеть строку, которая дает ошибку. Если ваша ошибка затаилась внутри какого-то компонента, то код, вызывающий ошибку, можно увидеть только заглянув туда. Но не все этот компонент имеют, а поиск компонента, если он бесплатен, скачивание, распаковка… — так себе занятие. Поэтому не ленитесь, скопируйте проблемную строчку + несколько строк до и несколько после и положите на форум. Этим вы повышаете вероятность, что вам помогут. 
Не помешает информация о версии CMS и системе, которую можно получить в Панели управления сайтом, щелкнув ссылку СИСТЕМА.
Вы просите здесь людей бесплатно посвятить своё время решению вашей проблемы, и логично сделать это как можно удобнее для этих людей.

#2 2 декабря 2021 в 17:06

Пример можно было и попроще. И использовать консоль браузера, а не cmd. Всё таки написано не для программистов. А так, зачётный топик.

#3 2 декабря 2021 в 17:45

Вы просите здесь людей бесплатно посвятить своё время решению вашей проблемы, и логично сделать это как можно удобнее для этих людей.

IamB
… Тем, кто так просит, плевать на тех, кого они просят.

Всё ждал,  что подобную тему напишет кто-то из админов/модеров. Но им, похоже, нравится то, что здесь происходит (или боятся потерять ещё одну пару-тройку ценных пользователей системы)

#4 2 декабря 2021 в 18:34

Пример можно было и попроще.

Lora

Что-то на тексте сконцентрировался, пример первый пришедший в голову написал, в нем, кстати, где-то потерялась пустая строчка после <?php . 

 Олег Васильевич я, модераторы, в отличии от нас, уже полностью лишены иллюзий, что в этом вопросе что-то можно поправить.

#5 2 декабря 2021 в 19:55

Олег Васильевич я, модераторы, в отличии от нас, уже полностью лишены иллюзий, что в этом вопросе что-то можно поправить.

IamB

Лишиться иллюзий что-то сделать даже не пробуя?  Этот наш метод!

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.