Хорошие инструкции новичка для создания минимальных полных примеров ошибок?
Итак, те из нас, кто некоторое время отвечали на вопросы и занимались сообщениями об ошибках, хорошо знакомы с концепцией "полного, минимального примера". Вы начинаете с громоздкой огромной кучи кода, получившего странную ошибку, и вы хотите спросить кого-нибудь об этом. Но вы не хотите посылать им весь беспорядок, поэтому вы начинаете раскалывать кучу кода на более мелкие кусочки, пока не получите этот маленький кристальный 20-строчный жемчуг, который все еще имеет ту же ошибку, с которой вы начали.
(И затем, по крайней мере, в половине случаев, вы понимаете, что такое ошибка, потому что она смотрит вам в лицо, как бабочка луны, и вам не нужно спрашивать, но это побочный эффект.)
Выполнение такого рода сокращения кода - это не навык, который у каждого есть - он требует немного практики, помимо того факта, что многие новички еще не узнали, что они должны это делать в первую очередь, Есть несколько отличных наборов инструкций для новичков о том, как задавать хорошие вопросы (например, ESR classic "Как задавать вопросы Smart Way" ). Есть ли хорошие инструкции, которые объясняют, что такое минимальный полный пример, и как и почему их создавать?
Ответы
Ответ 1
Все это в названии. Полный минимальный пример - это пример, который является полным и минимальным. Полное означает, что оно содержит всю соответствующую информацию, а минимальное означает, что оно не содержит никакой информации, которая не имеет отношения. Способность идентифицировать то, что не имеет значения, - это то, что приходит только с практикой - попытка дать инструкции для этого кажется немного похожей на попытку дать инструкции по езде на велосипеде. Вы можете дать техническое объяснение и описать механику (и часто задаваемые вопросы TeX, на которые вы ссылаетесь, делают это очень хорошо), но в конце концов единственный способ научиться - это делать.
Ответ 2
Я начну это с тех, с кем я знаком; оба они вышли из сообщества TeX, и поэтому немного склонны к программированию. Я надеюсь, что у других людей есть лучшие ответы.
В TeX FAQ есть запись о том, как сделать "минимальный пример".
Эта страница указывает на несколько более длинную статью "Что такое минимальный рабочий пример?" , Опять же, это для документов TeX; идеи те же, но инструменты и детали немного разные.
Изменить (2013/01): еще один, который я заметил в комментарии StackOverflow: страница "Короткий, Автономный, Правильный (Компилируемый), Пример"). Не идеально, и он предлагает 20kb (!) В качестве верхнего предела, но хорошее дополнение к списку.
Редактирование (2013/02): у Джона Скита есть пост в блоге о написании хороших вопросов, который включает в себя раздел с примером кода, который кажется полезным.