عضو شده در: 14 شهریور 1386
پست: 1498
محل سکونت: پشت کامپیوتر
امتیاز: 6 [وضعيت كاربر:آفلاین]
تاریخ:
سهشنبه 3 آذر 1388 - 00:48
وقتی برنامهنویسان نمیتوانند باگ برنامهی خود را پیدا کنند
دباگ کردن برنامه یا همون پیداکردن محل خطا در برنامه، و سپس رفع کردن آن، یکی از کارهای اصلی یک برنامه نویس کامپیوتر است. فارغ از اینکه خطای برنامه مربوط به فرم نوشتن باشد (SyntaxError)، یا خطای هنگام اجرا باشد (RuntimeError)، یا خطای مفهومی باشد (Semantic Errors)؛ اگر برنامهنویس نتواند پس از تلاش زیاد برای پیدا کردن محل خطا، آن را بیابد، دچار یک سری علائم میشود.
این مشکل احتمالا برای همهی برنامه نویسها پیش اومده، شاید یادآوری این لحظات براشون کمی هم خندهدار باشه، ولی اینها اتفاقاتی واقعی هستند.
* احساس اعصاب خوردی و/یا خشم شدید
* به دنبال علتهای غیر معقول گشتن (مثلا «کامپیوتر از من متنفره!») و یا اعتقاد پیدا کردن به چیزهای جادویی (مثلا «این برنامه فقط وقتی من کلاهمو چپه میپوشم کار میکنه!»)
* روی آوردن به برنامه نویسی اتفاقی (random walk programming): در این حالت برنامه نویس سعی میکند تمام راههای ممکن رو برای رسیدن به جواب را امتحان کند، بدون اینکه به دنبال خطای خود باشد. معمولا پس از نوشتن کدهای مختلف نهایتا کدی که او را به جواب میرساند مییابد، اما غافل از اینکه مسئله او راه حلهای بسیار سادهتر (مثلا در حد یک خط) دارد.
اگر شما هم چنین علایمی رو هنگام debug کردن برنامه در خود مشاهده کردید، اولین کاری که باید انجام داد این است که سعی کنید از کامپیوتر فاصله بگیرید. هر وقت هر کدام از این علایم در شما دیده شد از پشت کامپیوتر بلند شده و بروید قدم بزنید. و وقتی دوباره احساس آرامش کردید به پای کامپیوتر برگردید. پس از اینکه دوباره پشت کامپیوتر نشستید به این مسائل فکر کنید: کد شما قرار است چه کاری انجام دهد؟ چه عللی ممکن است باعث به وجود آمده خطا شده باشند؟ آخرین قطعهای از برنامه که درست کار میکرد کجا بود و بعد از اون چه تغییراتی داده شد؟
بعضی وقتها تنها گذشت زمان میتونه به پیدا کردن باگ کمک کنه. ما معمولا اینجور باگها را زمانی که از کامپیوتر دور هستیم و به ذهنمون اجازهی آزادانه فکر کردن میدهیم، پیدا میکنیم.
برخی از بهترین مکانها برای پیدا کردن این دست از باگها عبارتند از:
* داخل قطار یا اتوبوس
* زیر دوش در حمام
* در تخت خواب و دقیقا قبل از اینکه خوابتون ببره
(من بیشتر وقت ها تو خواب به ایرادهام پی میبرم )
نکتهای که باید اضافه کنم اینه که در پیدا کردن یک باگ، که مدتها ذهنتون رو مشغول کرده بوده، لذتی هست، که هیچ کجا نمی تونید پیداش کنید و این لذت رو تنها یک برنامه نویس میتونه درک کنه.
برگرفته از کتاب چگونه مانند یک دانشمند کامپیوتر فکر کنیم (اواخر ضمیمهی الف)
آره يه جاي ديگه هم هست كه معمولاً جوابو ميشه توش پيدا كرد ولي روم نمي شه بگم ( اولش W داره )
ولي جداً بعضي وقتا تا دو تا خونه اون ور تر مي فهمن كه يه جواب كشف شده حتي انشتين هم وقتي قانون نسبيت رو كشف كرد انقد بي جنبه بازي درنمي آورد ،
واسه يه لحظه حس مي كني مخي ( البته بگذريم از اين كه من كُلُهُم مخم [ رجوع به شعر داخل امضاء] )
البته يه توصيه دارم ، شايد به بحثمون خيلي مربوط نباشه ،
ولي هر وقت حس كردي خيلي بلدي ( كه معمولاً بعد از حل يه معما و مسئله باهاش مواجه مي شي )
شعر پايين ( از مجذوب علیشاه ) رو براي خودت زمزمه كن ( يه كم هم سرتو تكون بده )
مشاهده موضوع بعدی مشاهده موضوع قبلی
شما نمی توانید در این بخش موضوع جدید پست کنید شما نمی توانید در این بخش به موضوعها پاسخ دهید شما نمی توانید موضوع های خودتان را در این بخش ویرایش کنید شما نمی توانید موضوع های خودتان را در این بخش حذف کنید شما نمی توانید در این بخش رای دهید شما نمیتوانید به نوشته های خود فایلی پیوست نمایید شما نمیتوانید فایلهای پیوست این انجمن را دریافت نمایید
:: DpiGuide.Com Forums ::
تمام زمانها بر حسب GMT + 3.5 Hours میباشند