Rubber Duck Debugging چیست ؟ – دیباگ کردن با اردک پلاستیکی برنامه نویسی
به عنوان یک برنامهنویس به احتمال زیاد تاکنون در شرایطی قرار گرفتهاید که کدهای شما مطابق انتظار کار نمیکنند. این مشکل ممکن است به خاطر اشتباه تایپی باشد یا مثلاً شاید به اندازه کافی تمرکز و توجه نداشتهاید یا از نحوه کارکرد چیزی اطمینان وجود نداشته است. وقتی کدها کار نمیکنند، شرایطی بسیار آزاد دهنده بوجود میآید، اما تنها کاری که میتوان انجام داد این است که باگ یا باگهایی را پیدا کنیم که باعث شدهاند کدهای ما به درستی کار نکنند. اما این باگها به این دلیل اتفاق میافتند که لازم است برای ارتباط با کامپیوتر در حین کدنویسی با هر یک از زبانهای قابل فهم برای کامپیوتر، یعنی همان زبان برنامه نویسی، تا حد امکان دقیق باشیم. یکی از روشهای دیباگ کردن کدها، روش «Rubber Duck Debugging» (دیباگ کردن به روش اردک پلاستیکی) است. حالا دقیقاً روش Rubber Duck Debugging چیست و چطور انجام میشود؟ در این مطلب به این موضوع پرداختهایم. پس با ما همراه باشید.
چرا برنامه نویسان از اردک پلاستیکی استفاده می کنند؟
بسیاری از افرادی که یک اردک پلاستیکی را روی میز یک برنامه نویس میبینند، ممکن است فکر کنند این فقط یک اسباببازی یا چیزی تزئینی و بیاهمیت است. در واقعیت، اردک پلاستیکی ابزاری است که به برنامه نویسان کمک میکند تا مسائل را حل کنند. برنامه نویسان تناقضها را که اغلب به آنها باگ میگویند به اردک پلاستیکی توضیح میدهند و این کار به آنها کمک میکند تا راهحلی برای باگهای برنامه پیدا کنند.
دلیلش این است که توضیح دادن مشکل و مسئله به شخصی دیگر به شما کمک میکند تا آن مسئله را بهتر درک کنید و برای آن راهحل پیدا کنید. این کار به ما کمک میکند تا به مسائل از دیدگاه و جنبه جدیدی بنگریم و نکاتی را دریابیم که در ابتدا به آنها توجه نداشتهایم. برای درک بهتر مفهوم دیباگ کردن با اردک پلاستیکی و ایده نهفته در آن، این مطلب را تا انتها بخوانید.
Rubber Duck Debugging چیست و چگونه کار می کند؟
روش دیباگ کردن با اردک پلاستیکی به واسطه داستانی در یک کتاب منتشر شده در سال ۱۹۹۹ محبوبیت پیدا کرد. این کتاب توسط اندرو هانت و دیوید توماس نوشته شده و نام آن «The Pragmatic Programmer» (برنامه نویس عملگرا) است.
روایت داستان درباره یک برنامه نویس است که اردکی پلاستیکی را به همراه خود دارد و هر وقت با باگی مواجه میشود، کدهای خود را خط به خط به آن اردک توضیح میدهد. صحبت با شیئی بیجان راجع به باگهای موجود در کدها ممکن است کاری احمقانه به نظر برسد، اما در میان برنامه نویسان امری بسیار رایج و محبوب است، چون واقعاً جواب میدهد و کارایی دارد.
در روش دیباگ کردن با اردک پلاستیکی اینطور نیست که فقط کدها را خط به خط به اردک توضیح دهیم. بلکه علاوه بر آن، به اردک میگوییم که سعی داریم چه کاری را انجام بدهیم و اهدافمان را از نوشتن کدها بیان میکنیم. وقتی همه چیز را راجع به کدها به اردک پلاستیکی توضیح میدهیم، احتمال پیدا کردن باگ پنهان شده در کدها بسیار بیشتر میشود. گاهی برخی از ما در شرایطی قرار داشتهایم که با مشکلی مواجه شدهایم، تصمیم گرفتهایم مشکل را به دوستمان توضیح دهیم و بلافاصله حتی وقتی هنوز توضیحاتمان تمام نشده به راهحل و چاره کار رسیدهایم.
با توضیح دادن باگهای داخل کدهایمان به یک شیئی بیجان مثل اردک پلاستیکی، دیگر نیازی نیست مزاحم کسی بشویم. البته میتوان اشیای بیجان دیگر یا حیوان خانگی خود را هم به جای اردک پلاستیکی استفاده کرد.
روش رفع باگ با اردک پلاستیکی برنامه نویسی چگونه است؟
روش دیباگ کردن با اردک پلاستیکی به شرح زیر است.
- از طریق التماس کردن، قرض گرفتن، دزدین، ساختن یا هر روش دیگری یک اردک پلاستیکی (از نوع شناور شونده) تهیه کنید.
- اردک پلاستیکی را روی میزتان بگذارید و به آن اطلاع بدهید که میخواهید اگر مشکلی نیست کدهایتان را با هم مرور کنید.
- به اردک توضیح بدهید که کدهای شما قرار است چه کاری را انجام بدهند و بعد وارد جزئیات بشوید و خط به خط کدها را به اردکتان توضیح بدهید.
- سپس به جایی میرسید که به اردک راجع به آنکه بعداً قرار است چه کار کنید توضیح خواهید داد و بعد متوجه خواهید شد که آنچه در عمل دارید انجام میدهید آن کاری نیست که واقعاً قصد انجامش را داشتهاید. اردک همانجا با آرامش خواهد نشست و از اینکه به شما در پیدا کردن راهکار کمک کرده بسیار خوشحال به نظر میرسد.
نکته: در صورت نیاز، ممکن است همکار شما هم بتواند جایگزین اردک پلاستیکی شود، اگرچه اغلب ترجیح داده میشود اشتباهات خود را به جای همکارتان به اردک بگویید.
نظریه Rubber Duck Debugging چیست ؟
ایده پشت روش دیباگ کردن با اردک پلاستیکی این است که وقتی باگها باعث میشوند روند کار برنامه نویس با مشکل مواجه شود، کدها را خط به خط به اردکی پلاستیکی توضیح میدهد. میتوان این روش را مثل پروسهای در نظر گرفت که در آن پیامی را برای انتشار در شبکههای اجتماعی تایپ میکنیم و آن را قبل از ارسال کردن با صدای بلند میخوانیم. این کار به ما کمک میکند تا متوجه اشکالات تایپی و گرامری در نوشته خود بشویم. همین مسئله در مورد توضیح دادن مشکل خود به اردک پلاستیکی هم صدق میکند.
وقتی با باگها مواجه میشویم و خط به خط کدها را به اردک پلاستیکی توضیح میدهیم، راهحل دیباگ کردن مشکل اغلب همان جا نمایان میشود.
کلام آخر
برای رفع مشکلات و یادگیری هر چیزی به صورت موثر، لازم است راجع به آن حرف بزنیم و آن را آموزش بدهیم. استفاده از اردک پلاستیکی به ما کمک میکند تا باگها را برطرف کنیم، زیرا راهحل اغلب زمانی پیدا میشود که راجع به مسئله صحبت میکنیم و آن را به دیگری آموزش میدهیم.
در طول سالها، رفع باگ با اردک پلاستیکی در میان برنامه نویسان و توسعه دهندگان تکیهگاه اصلی در حل مسائل بوده است. طبق گفته برنامه نویسان، حتی در برخی از شرکتها، اردک پلاستیکی را به عنوان یکی از اقلام بسته خوشامدگویی بعد از استخدام به برنامه نویسان هدیه میدهند.
قطعاً این اردک پلاستیکی نیست که به شما میگوید چگونه باگها را رفع کنید. بلکه، شما از طریق صحبت کردن راجع به خط به خط کدها و اینکه هر خط چه کاری انجام میدهد، متوجه خواهید شد چگونه میتوانید دیباگ را انجام بدهید.
روش Rubber duck debugging یا صحبت کردن با اردک پلاستیکی فقط مختص برنامه نویسی نیست. شما میتوانید از این روش در دیگر جنبههای زندگی هم بهرهمند شوید.
اگر این مطلب مفید بوده است، استفاده از دورههای آموزشی و مطالب زیر نیز پیشنهاد میشوند:
- مجموعه دورههای آموزش برنامهنویسی
- دوره آموزش ویژوال استودیو – افزونه های کاربردی Visual Studio
- مجموعه دورههای پروژهمحور آموزش برنامهنویسی
- دیباگ کردن در ویژوال استودیو کد — به زبان ساده
- نکات و ترفندهای دیباگ در اندروید استودیو | به زبان ساده
- دیباگ کردن کدهای HTML — راهنمای کاربردی
- دیباگ کدهای جاوا اسکریپت با Chrome DevTools — به زبان ساده
مجموعه: برنامه نویسی برچسب ها: Debug with a rubber duck, Rubber duck, What is Rubber Duck Debugging, آموزش برنامه نویسی فرادرس, آموزش خطایابی کد, آموزش دیباگینگ, آموزش عیب یابی کدها, اردک پلاستیکی, اردک پلاستیکی برنامه نویسی, اشکال زدایی اردک لاستیکی, دوره آموزش حل مساله فرادرس, دیباگ در برنامه نویسی, دیباگ در ویژوال استودیو, دیباگ کردن با روش اردک پلاستیکی, دیباگ کردن سی شارپ, رابر داکی چیست, رابر داکی چیه, رفع باگ به روش اردک پلاستیکی, فیلم آموزش حل مساله, فیلم آموزش دیباگ فرادرس, فیلم آموزش دیباگ کردن, فیلم های آموزش برنامه نویسی