Тема: Універсальна відповідь студіозусам
Ви написали код, але щось у вас не вдається - компілятор пише незрозумілі повідомлення, код робить зовсім не те, що ви очікуєте, все летить шкереберть, незрозуміло, як взагалі бути. І це нормально. Це буває у всіх. І в початківців, і в профі. Можливо, в когось частіше, в когось рідше, але самий факт, що ви не можете розібратися в тому, що відбувається, нічого про вас не каже. І той факт, що ви вирішили звернутися по допомогу, теж нічого поганого не означає, іноді допомога потрібна всім.
А от що про вас каже - це те, скільки зусиль ви витратили на питання. Банальна чемність вимагає, щоб на питання ви витрачали не менше часу, ніж очікуєте, що хтось витратить на відповідь - тим більше, що час тих людей, у яких ви питаєте, швидше за все, коштує більше, ніж ваш. Тому якщо питаєте - щонайменше простежте, щоб у питанні було зазначено таке:
Завдання. Ми не знаємо, що має робити ваш код, тим більше, що він цього, схоже, й не робить. "Здогадайтеся, що мав би робити цей код, якби він робив те, що він має робити" - гра весела, але ви ж, мабуть, не гратися прийшли. Як і ми. Тому викладайте завдання. Якщо у вас проблема з підзадачею якоїсь великої задачі - уточніть, чому ви вирішили саме таку підзадачу робити; можливо, всі ваші проблеми - результат некоректного вибору шляху.
Код. Звучить дивно, але дехто ставить питання по коду, цей код не показуючи. Код має бути вирівняним, назви змінних змістовні, на цьому форумі взятий у тег [code](кнопка <>). Так, це нудно і може зробити хто завгодно (особливо вирівняти в сучасному IDE - двома кліками в меню). Але ви прийшли питати до нас - і було б дивно, щоб ми ще й вирівнювали код за вас. Тим більше, що гарно написаний код зручніший для вас особисто. Цілком можливо, що простим вирівнюванням ви знайдете ту помилку, про яку хотіли тут спитати. В ідеалі хотілося б, щоб код був зведений до мінімального компільованого прикладу, що демонструє проблему, але це не завжди легко, особливо початківцям, тому питайте вже як є. Якщо код дуже великий - вкладайте файли чи викладайте його на GitHub.
Проблема. Так, опис проблеми. Завдання і код - це чудово, але щось же ви хотіли й спитати? То питайте. І опис проблеми дуже бажано давати позитивно: не "код не працює" чи "результат неправильний", а "компілятор повідомляє про помилку (яку саме)" чи "я вводжу числа від 1 до 10, а код замість 55 виводить -2742352732 чи інші величезні числа".
Такий спосіб ставити питання дуже допоможе - передусім вам самому. У мене 80% питань зникає, якщо я їх записую, бо я одразу бачу, що пропустив. І у вас буде так само. А якщо це питання з 20%, на які ви не можете відповісти - то питання у такій формі дуже допоможе нам допомогти вам.
Також бажано додавати:
Два слова про себе. Не треба біографію від пологового будинку, достатньо короткого опису "я студент, вивчаю Python, нам задали завдання" чи "я пишу власну ОС на Rust з асемблерними вставками". Це теж допомагає відповідати.
Якщо ви шукали відповідь у книжках чи в мережі - скажіть про це. "Підручник Пасквілятора, ст. 13, каже, що ..., але у мене в програмі воно дає зовсім інший результат", "я шукав схему за словом "CString", але чомусь зображення не стосувалися програмування" - це одразу відіб'є у форумних тролів бажання послати вас читати книжки чи гуглити.