چگونه درست سوال بپرسیم؟

چگونه درست سوال بپرسیم؟

طی روز حین کد نویسی یا کلنجار رفتن با یک ابزار ممکنه به مشکل بخورم و مجبور شم از کسی سوال کنم. اما وقتی سوال می کنم با پرسش های خیلی بیشتری روبرو میشم که من رو از سوال پرسیدن منصرف میکنه و کلی از وقتمو میگیره یا از طرفی اصلا فیدبکی دریافت نمی کنم طوری که انگار رو این کره ی خاکی هیچ کس قادر به جواب دادن به سوال من نیست.

اگه پاراگراف بالا در مورد شما صدق میکنه این مقاله برای شماست. فقط چند دقیقه تا تجربه ی پرسیدن یک سوال خوب فاصله دارید.

سوالتون رو به احمقانه ترین شکل ممکن بپرسید
فرض کنید قراره از یک بچه ی پنج ساله سوال بپرسید نه یک آدم بالغِ با سواد. اسمِ زبان، ابزار، محیط یا تکنولوژی (هایی) که در اون به مشکل خوردید رو حتما در سوال قید کنید. تنها در صورت پرسیدن یک سوال به احمقانه ترین شکل ممکن می تونید بهترین پاسخی رو دریافت کنید که در غیر این صورت نمی تونستید. سوال های احمقانه معمولا سوال های هوشمندانه ای هستن.

راجع به مشکل سوال کنید نه راه حل
در باب سوال کردن همیشه دغدغه ای به نام XY Problem مطرح هست. XY Problem یعنی:

شما مشکل X رو دارید و برای حلش راه Y رو انتخاب می کنید. در Y به مشکل می خورید و سعی می کنید از شخصی در مورد Y بپرسید. اون شخص سعی می کنه برای حل مشکل Y راه حل بده اما این راه حل جواب قاطعی برای مشکل اصلی شما یعنی X نیست چون پاسخ دهنده هیچ ایده ای راجع به X نداره. بعد در بهترین حالت به او طعنه می زنید و دورش رو برای کمک گرفتن های بعدی به کل خط میکشید. یاد بگیرید در مورد مشکل اصلی صحبت کنید نه راهی که برای حلش انتخاب کرده اید.

مسئله رو خرد کنید
تا جایی که می تونید سوال رو کوچیک کنید. اگه در مورد یک کد اسنیپت چهار خطی جاوا اسکریپت سوال دارید لازم نیست کل سورس HTML صفحه هم در سوال بیارید. حتی اگه الزام به وجود المان های HTML هم باشه ضروری نیست همه ی المان هاش همراه کدی که فکر می کنید مشکل داره آورده بشن. در استک اورفلو این مورد اختصاراً به MCVE معروف هست. MCVE سر واژه های انگلیسی زیر اند:

Minimal – حداقل
Complete – کامل
Verifiable Example – مثال قابل تایید و بازتولید

و این یعنی مشکل شما باید کوچک شود و در عین حال تماماً قابل بازتولید (Reproducible) هم باشد.

سؤال رو در قالبی خوانا مطرح کنید و برای فرمتینگ درست سوال کمی دل بسوزونید
سعی کنید کد ها ما بین بلاک های کد قرار بگیرند تا قابل خواندن باشند. بعضی اوقات تشخیص یک کاراکتر اسپیس از چند اسپیس کنار هم ممکن نیست اما در بلاک های کد هر کاراکتر ارزشمند تلقی می شوند. سعی کنید برای جمله بندی و استفاده از کلمات بیشتر وقت بگذارید. بدونید که بچه واقعا رو گاز نیست!

سرچ کنید و در سوال مطرح کنید که برای حل مشکل خودتون تلاش کردید
اما به نتیجه نرسیدید و لینکی به همون صفحاتی که سرچ کردید قرار بدید یا صرفاً اشاره کنید. اینطوری فرد پاسخ دهنده می فهمه که خودتون برای مشکل خودتون ارزش قائل بودید و در صورتی که جواب سوال شما رو بده برای اون هم ارزش قائل هستید و سپاسگزارید.

ممنون که مطالعه کردید. تجربه ی پرسیدن سوال های خوب و گرفتن جواب های عالی حق شماست.

از بهترین نوشته‌های کاربران سکان آکادمی در سکان پلاس


online-support-icon