ارسال شده توسط علیرضا رمضانی

تقریبا تمام برنامه نویسان دنیا نام Stack Overflow به گوششان خورده است، سایتی که در سال 2008 جف اتوود و جویل اسپولسکی با هدف ایجاد یک سایت پرسش و پاسخ درباره ی حوزه ی وسیعی از مباحث برنامه نویسی و زبان های مختلف برنامه نویسی آن را پیاده سازی کردند. این سایت پاسخگوی پرسش های تعداد زیادی از برنامه نویسان از سراسر دنیاست. که خود را اینگونه معرفی میکند:
این سایت یک سایت پرسش و پاسخ برای برنامه نویسان حرفه ای و علاقه مند است، استفاده از این سایت صد درصد رایگان است، بدون نیاز به ثبت نام

سایت Stack Overflow دارای قابلیت OpenID است بدین صورت که بدون نیاز به ثبت نام می توانید در آن عضو شوید، یعنی اگر شما در گوگل، یاهو و… عضو باشید در واقع در این سایت هم عضو هستید، فقط کافیست که وارد سایت شوید.
یکی از قابلیت های جالب سایت، امکان تایید کردن جواب، رأی دادن و کامنت گذاشتن برای جواب هاست. اگر شما به سوالی پاسخ دهید یا ویرایش کنید و دیگران پاسخ شما را تایید کنند، در آن صورت شما امتیاز می گیرید و اگر امتیازات شما به حد معینی برسد می توانید با آنها مدال برنز، نقره و طلا بگیرید، گرفتن اینگونه مدال ها بسیار حائز اهمیت می باشد، چرا که هم در پروفایلتان ثبت می شود و هم در مواقعی که میخواهید از طریق این سایت به دنبال کار باشید کارفرما می تواند امتیازات و مدال های شما را ببیند.

سایت های مشابه، مانند Server Fault  به سایت خواهر Stack overflow معروف هستند. البته این سایت پرسش و پاسخ های خود را در زمینه ی شبکه ارائه میدهد.

چه کسانی به Stack Overflow احتیاج پیدا می کنند؟

بدون شک مراجعان به این سایت، طیف بزرگی از مردم را شامل میشوند، اما به طور کلی دو دسته بندی عمده وجود دارد:

  1. کسانی که به دنبال یادگیری، آموزش و بدست آوردن جوابهایی هستند که  آنها را از بن بست های برنامه نویسی نجات می دهد.
  2.  کسانی که بر اثر گذشت زمان، سینتکس ها را فراموش کرده اند و به جای مرور کردن منابع آموزشی، به دنبال راهی سریعتر برای بدست آوردن جواب هایشان هستند.
فراموشی سینتکس ها

احتمالا جملات زیر را خیلی شنیده اید:

  1. باورم نمیشود که این برنامه را من نوشته ام، هیچ چیز آن یادم نمی آید.
  2. این سومین زبانی است که آن را فراموش کرده ام، نگران این هستم که فراموشی گرفته باشم.
  3. مفاهیم را درک میکنم اما سینتکس ها را به کلی فراموش کرده ام.
  4. برنامه نویسی خیلی بی رحم است.
  5. سینتکس های جاوا را به اشتباه در سی شارپ به کار بردم، امروز آبرویم رفت.

یکی از مهمترین دغدغه های برنامه نویسان، فراموشی زبان برنامه نویسی و سینتکس آن می باشد. این پدیده بسیار عادی است و به طور میانگین اگر شش ماه الی یک سال از زبان برنامه نویسی خاصی استفاده نکنیم آن را فراموش خواهیم کرد. بهترین های این حوزه پیشنهاد می کنند که به جای یادگیری سینتکس، مفهوم را یاد بگیریم و درک کنیم، این کار باعث می شود تا انعطاف پذیری قابل قبولی در مواجهه با یادگیری یک زبان جدید را داشته باشیم. در دنیای تکنولوژی و خصوصا برنامه نویسی به دلیل تغییرات فراوان زبان ها، تکنولوژی و ظهور زبان های جدید، حفظ کردن سینتکس ها کاری عبث بوده و تنها وقت شما را تلف می کند.
در چنین مواقعی StackOverFlow به کمک می آید، با یک جستجوی ساده می توانیم به قسمت مورد نظر برسیم و جواب مسئله مان را در آن بیابیم. حتی مشاهده شده که برای حل یک مسئله ی خاص چندین راه حل مختلف پیشنهاد شده که تمامی درست می باشند. این شما هستید که با توجه به پروژه و نیازتان باید از بهترین پاسخ استفاده کنید.

راه های بدست اوردن شهرت Reputation در سایت
  1. اولین کسی باشید که به سوالات جدید پاسخ می دهید.  در صفحه ی اصلی سایت می توان جدید ترین سوالات بی پاسخ را مشاهده کرد.
  2. به جای پاسخ های سطحی و متنی، سعی کنید مشکل سوال کننده را به صورت قطعه کد برطرف کنید. پاسخ های متنی به سختی امتیاز میگیرند.
  3. در پروفایل خود می توانید لیست علاقه مندی ها و لیست سیاه خود را تنظیم کنید. مثلا می توانید در لیست علاقه مندی ها css ، html ، javascript را وارد کنید تا سوالاتی از این دست را بهتر ببینید.
  4. می توانید به سوالاتی که حداکثر سه تا جواب هم دارند پاسخ دهید، استفاده از پاسخ های قبلی به شما زمان و ایده ی کافی می دهد تا پاسخی کامل تر و بهینه تر ارائه دهید.
  5. زمان درست ویرایش کردن پاسخ را یاد بگیرید. ابتدا یک پاسخ کوتاه بدهید و سپس کمتر از پنج دقیقه فرصت دارید تا آن را ویرایش کنید.
  6. فروتن و منصف باشید. به پاسخ هایی که فکر میکنید صحیح هستند رأی بدهید. دنیای برنامه نویسی پر از نخبگان و افرادی است که بسیار قوی تر و متخصص تر از شما هستند، پاسخ های شما نباید به گونه ای باشد که اشتباه باشد یا خطای سینتکس داشته باشد، در این صورت نمره ی منفی میگیرید و تمام بافته هایتان پنبه خواهد شد.
  7. اگر سوالی را دیدید که قبلا به آن پاسخ داده شده و یا در سایت مرجعی مانند docs.microsoft.com جواب آن وجود دارد، در پاسخ به آن سوال، لینک آن صفحات را قرار دهید. این کار بسیار مفید و هوشمندانه است.

 

طرز پرسیدن سوال
  1. سعی کنید تا آنجایی که می توانید سوالاتی عاری از هر گونه اشتباه انگلیسی اعم از املایی و نگارشی مطرح کنید.
  2.  سوالاتتان نه خیلی کوتاه باشد و نه طولانی. فرض کنید که شما در حال پرسیدن سوال از یک همکار هستید که سرش شلوغ است.
  3. قبل از پرسیدن سوال ابتدا همان سوال را جستجو کنید، بسیاری از سوالاتی که در ذهن شماست قبلا به ذهن دیگران خطور کرده، پرسیده و جواب گرفته اند.
  4. اگر نمیدانید چگونه سوالاتتان را جستجو کنید می توانید از اواسط متن سوال تایپ کنید، در خیلی از مواقع با استفاده از این روش سریعتر به خواسته ی خود می رسید.
  5. قبل از آن که قطعه کد خود را بنویسید ابتدا به صورت واضح مشکل خود را بیان کنید.
  6. اگر قطعه کد شما جزء چندین دسته بندی است، سعی کنید نام آنها را تگ کنید.
  7. در صورتی که به سوال شما پاسخی داده شد سعی کنید بازخوردی نشان دهید.
چند نمونه از سوالات خوب و بد

Bad: C# Math Confusion

Good: Why does using float instead of int give me different results when all of my inputs

are integers

 

Bad: php session doubt

Good: How can I redirect users to different pages based on session data in PHP

 

Bad: android if else problems

Good: Why does str == “value” evaluate to false when str is set to value

جدیدترین مقالات

فهرست