dollar
@dollar
Делай добро и бросай его в воду.

Как регулируется правомерность вопросов, связанных с отладкой кода?

Периодически вижу вопросы типа:
  • Где здесь ошибка?
  • Почему не работает мой код? (или чужой код)
  • и т.д. (формулировка в заголовке может быть более точной, но сути это не меняет)

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

Но с моей точки зрения это - самая что ни на есть задача. Но с некоторыми оговорками! И эти оговорки не позволяют разделить на чёрное и белое, к сожалению.

Очевидно, что такой вопрос имеет однозначный ответ - указание места, где содержится ошибка. Это и будет решением. Но поиск этой ошибки в общем случае требует воссоздания тестовой среды для выполнения кода. Ведь отладка в любом случае предполагает исполнение кода с целью проверки гипотез. И вот самих гипотез может быть очень много. Поэтому, без проведения отладки, ответ получается не однозначный, по типу: это может быть А, Б, или Ц, или что угодно ещё.

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

Иногда автор вопроса приводит код, но не говорит, какая именно ошибка произошла, а просто жалуется, что "код не работает" или "что-то пошло не так", "не получается" и т.д. Иногда даже сам код не приводит. Или, наоборот, копипастит код на 200+ строк. Как правило, автор не перечисляет, что он уже пробовал, а что - нет (и что из этого сработало, а что - нет). В результате вопрос практически сводится к "сделайте плиз отладку за меня".

Но, простите, что?! Не слышал про отладку вообще? А кто тогда автор вопроса такой? Он программист или кто? Или кто? Или заказчик, которому лень нанять спеца, но он почему-то полез в код и пытается исправлять в нём ошибки?

Как отвечающий, я стараюсь решить проблему прежде всего того, кто задаёт вопрос. Но что считать проблемой в подобных вопросах? Это вообще программная проблема или же это проблема автора, что он полез не в свою сферу? Или если второе, то как ему на это указать, чтобы выглядело не слишком грубо, не как посыл? Ведь если автора послать набираться опыта или учиться, то это НИКАК не решит данную конкретную проблему, которую ОН считает проблемой здесь и сейчас. Более того, если автор рассматривает данный ресурс, как источник бесплатных программистов, которые на другом конце провода будут делать за него отладку (то есть по сути работать на автора), то в таком случае пропадает и само желание отвечать.

А если всё же заняться такой странной "отладкой", то получается "испорченный телефон". Запусти то, набери в консоли это, попробуй так.... а если вот так? а если эдак, то что? Немного напоминает тех. поддержку.

Самое интересное, что некоторые вопросы действительно достойны того, чтобы на них ответить. Это вопросы, в которых содержится некий парадокс. То есть автор вопроса приводит всю нужную информацию, кратко рассказывает, что уже перепробовал и где именно затык, и из текста вопроса вытекает некое противоречие. То есть автор говорит: "Здесь ошибки не может быть потому-то и потому-то, я в этом разобрался, но по факту ошибка есть. Как же так? Почему так? Я сошел с ума или вселенная сошла с ума?" Вот что-то из этой серии действительно интересно, и в то же время касается отладки. При этом, это обычно какие-то простые примеры аля 0.1 + 0.2 == 0.3 или код на 5-10 строк, не более, чтобы любой смог легко попробовать у себя и убедиться.

TL;DR
Так как же быть с подобными вопросами? Жалоба "ответ требует отладки" пока что не предусмотрена. Если всё же делать отладку, то по сути это работа. И даже если сделать эту работу, то она будет медвежьей услугой автору, который хочет быть программистом. А послать автора учиться - обычно не является ответом с точки зрения автора.
  • Вопрос задан
  • 417 просмотров
Решения вопроса 1
@posters
В результате вопрос практически сводится к "сделайте плиз отладку за меня".

Но, простите, что?! Не слышал про отладку вообще? А кто тогда автор вопроса такой? Он программист или кто? Или кто?

Прежде всего, он человек!
Он человек, который решил обратиться за помощью.
Человек, это нечто большее, чем просто винтик в системе, который по мере взросления повышает компетентность и совершенствуется, чтобы становиться все более полезным для системы и все менее заменяемым. Человек обладает не только разумом, но и чувствами. О последнем многие забывают. А ведь именно это делает каждого уникальным, внося иррациональность в поведение и восприятие мира. Это то индивидуальное начало, которое раскрывается в контексте социальных отношений и делает из человека личность.
Что означает быть человеком? Современные словари ставят знак равенства между человечностью и гуманностью, утверждая, что эти слова синонимы. Гуманность же, в свою очередь, тесно связана с гуманизмом. Это философско-исторический термин. В определенный момент человек, реализующий свои возможности и развивающий достоинства, стал ценностью. Быть человечным и гуманным, значит помогать не потому что просящий этого заслужил, а просто за то, что он человек и нуждается в твоей помощи. Человек достоин помощи уже за то, что обладает индивидуальным началом, отличающим его не только от животных, но и от других людей.

Ведь если автора послать набираться опыта или учиться, то это НИКАК не решит данную конкретную проблему, которую ОН считает проблемой здесь и сейчас.

Здравая мысль.
Есть прошлое и будущее, но, в контексте настоящего, значимой для человека проблемой может быть именно та, с которой он пришел на Тостер. Эта проблема, если ее вовремя не решить, может решиться сама собой, стать не актуальной, маловажной, а может стать основанием для кома из проблем, которые в конечном итоге окончательно испортят человеку жизнь и забьют гвозди в крышку гроба.

Более того, если автор рассматривает данный ресурс, как источник бесплатных программистов, которые на другом конце провода будут делать за него отладку (то есть по сути работать на автора), то в таком случае пропадает и само желание отвечать.

Вы не можете точно знать намерения другого человека. Вы можете лишь делать прогнозы, основываясь на той информации, которой располагаете. Учитывая, что это интернет-ресурс, вы можете вообще ничего не знать об авторе, кроме вопроса и его ника, а значит и строить прогнозы бессмысленно. Кроме того, существует такая вещь, как "фундаментальная ошибка атрибуции". Это склонность человека объяснять поведение других их индивидуальными особенностями, а своё поведение - ситуацией, внешними обстоятельствами.

Самое интересное, что некоторые вопросы действительно достойны того, чтобы на них ответить. Это вопросы, в которых содержится некий парадокс.

Можете отвечать только на те вопросы, которые нравятся ЛИЧНО ВАМ. Другой человек может найти интересным ДЛЯ СЕБЯ те вопросы, что вы нашли банальными и скучными, например, такие, которые вы описали в этой теме. Вы забываете, что каждый человек индивидуален.
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
Любой технический вопрос можно удалять с формулировкой: "Если у тебя есть проблема, то ты либо не читал документацию, либо не хочешь думать". Тогда останутся лишь ведущие к дискуссии, которые тоже запрещены.

Помимо обычной потребности делиться знаниями, на вопросы отвечают, потому что они интересны и отвечающим тоже.

Помогая другим, можно прокачаться самому, в той же отладке, или изучить проблему которая поднялась в вопросе. Если это вам не нужно просто пройдите мимо. Возможно для кото-то станет интересна та же проблема.

И по-моему нет разницы связан вопрос с отладкой или нет. Для кого то найти 1 символ опечатки в 10 строках кода будет быстрее, чем прочитать 1,5 экрана текста, обдумать, и написать ответ.
Ответ написан
tsklab
@tsklab
Здесь отвечаю на вопросы.
Уже не один раз предлагалось, что все вопросы такого рода должны приниматься только с песочницей. Остальное удалять. Но хозяева ресурса удаляют вопрос лишь в крайнем случае. Логика, наверное, такова: вот вопрос требующий отладки, но вдруг дадут ответ, который попадёт в точку — влетим выше крыши. Остальное — терпите.
Ответ написан
Комментировать
На любом современном сайте реальность автора или его намерений - зачастую не проверяемы. В недалёком будущем вопросы сможет генерить нейросеть (с небольшой человеческой модерацией) - для того, чтобы дополнительно поддерживать активность на сайтах.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Никому не нужны здесь ни твои вопросы, ни твои ответы. Лучше - уже не будет.
Ответ написан
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Пардон, чувак, я не понимаю, в чем состоит твой вопрос. В том, что есть некая прослойка людей, желающих спихнуть поиск ошибки в коде на кого-то другого? Я вот например, если вижу "многакода" - пропуская вопрос сразу - вникать неохота, хотя на простой вопрос (особенно, если он предполагает нетипичные решения) могу и ответить. Да, я обычно стараюсь не решать простяцкие проблемы "здесь и сейчас" - но ... иногда решаю :)
Ответ написан
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Слишком вы категоричны для многих например не совсем понятно.

Вот например абсолютно дубовый код, но если запустить его через
npm run serve

public async getInfo(): Promise<Info> {
    const data = await axios.get(this.API_URL);
    return data.data;
  }


Получается вот это, лечится перезапуском, но крайне неприятно
e3ce8000fd.jpg
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы