Rubber Duck Debugging چیست؟ | دیباگ کردن به روش اردک لاستیکی
Rubber Duck Debugging چیست؟ ممکن است در برنامه نویسی به یک Bug (اشکال) خیلی سختی دچار شوید. اما وقتی این باگ را به یک برنامه نویس توضیح میدهید، بهطور ناگهانی خودتان متوجه باگ برنامه، شده باشید. این یک روش مرسوم برای Debug (اشکالزدایی) کد است. اکثر برنامه نویسان موقع توضیح دادن مشکل کدهای خود به دیگران، متوجه آن میشوند. Rubber Duck Debugging یا اشکالزدایی اردک لاستیکی نیز بر همین اساس به وجود آمده است. در این قسمت از آموزش برنامه نویسی، دیباگ به روش اردک پلاستیکی را برای شما توضیح میدهیم.
عناوینی که در این مقاله یاد خواهیم گرفت:
- باگ چیست؟ و دیباگ کردن باگ به چه معناست؟
- معنی Rubber Duck Debugging چیست؟
- چرا برنامه نویسان از اردک لاستیکی استفاده میکنند؟
- ایده Rubber Duck Debugging چیست و از کجا به وجود آمد؟
- چگونه از دیباگ کردن به روش اردک پلاستیکی استفاده کنیم؟
باگ چیست؟ و دیباگ کردن باگ به چه معناست؟
قبل از اینکه به معنی Rubber Duck Debugging بپردازیم، اول باید ببینیم Bug چیست؟ در مهندسی نرمافزار، «باگ» به معنی «اشکال» است. اما Debugging چیست؟ اگر بخواهیم یک «باگ» را «اشکالزدایی» کنیم، در اصطلاح میگوییم که «دیباگ» کردهایم.
برای آشنایی بیشتر با باگ و دیباگ کردن در برنامه نویسی و ریشههای آنها، حتما مقالات زیر را مطالعه کنید:
معنی Rubber Duck Debugging چیست؟
کلمه «Rubber» به معنی «لاستیک»، کلمه «Duck» به معنی «اردک» و کلمه «Debugging» در برنامه نویسی به معنی «اشکالزدایی» است. پس بهطور کلی «Rubber Duck Debugging» به معنی «اشکالزدایی اردک لاستیکی» است.
چرا برنامه نویسان از اردک لاستیکی استفاده میکنند؟
در مهندسی نرمافزار، «اشکالزدایی لاستیکی» یکی از روشهای دیباگ کردن (اشکالزدایی) کدها است. همانطور که در اول مقاله اشاره شد، به احتمال زیاد، وقتی یک باگ (اشکال) برنامه نویسی را به یک برنامه نویس توضیح میدهید، بهطور ناگهانی خودتان متوجه باگ کدهای خود میشوید.
بسیاری از برنامه نویسان تجربه این را داشتهاند که وقتی یک مشکلی را برای یک برنامه نویس دیگر یا حتی یک شخص معمولی که برنامه نویس نیست، توضیح دادهاند، در هنگام توضیح، متوجه مشکلات کد نویسی خود شدهاند.
یک برنامه نویس بهطور دائم با باگ سرو کله میزند. اما نمیتواند همیشه یک برنامه نویس را در کنار خود داشته باشد و مشکلات خود را به او توضیح دهد. در دیباگ کردن به روش اردک لاستیکی، شما یک اردک لاستیکی (اسباب بازی) را روی میز یا لپتاپ خود قرار میدهید و هنگام بروز یک باگ، کدهای خود را به اردک پلاستیکی بهصورت خط به خط توضیح میدهید.
در اکثر موارد، هنگام توضیح کدها به اردک لاستیکی، متوجه باگ کدهای خود خواهید شد. این روش دیباگ کردن باگ را «اشکالزدایی اردک لاستیکی» یا «Rubber Duck Debugging» میگوییم.
البته لزومی ندارد که از یک اردک لاستیکی استفاده کنید. شما میتوانید از اجسام دیگر (معمولا بیجان) یا حیوانات خانگی مانند سگ و گربه نیز استفاده کنید. هدف این است که کدها را خط به خط به او توضیح دهید تا متوجه باگ کدهای خود شوید.
ایده Rubber Duck Debugging چیست و از کجا به وجود آمد؟
ایده «اشکالزدایی اردک لاستیکی» یا «Rubber Duck Debugging» به یک داستانی در کتاب «برنامه نویس عملگرا» اشاره دارد که توسط اندرو هانت و دیوید توماس نوشته شده و در اکتبر ۱۹۹۹ منتشر شد. یک برنامه نویس، با حمل کردن اردک لاستیکی به همراه خود، سعی دارد که خودش را مجبور کند که باگ کدهای خود را به اردک لاستیکی توضیح دهد تا به این روش کدهای خود را دیباگ کند.
چگونه از دیباگ کردن به روش اردک پلاستیکی استفاده کنیم؟
بعد از اینکه دانستیم اشکالزدایی اردک پلاستیکی چیست؟ باید روش دیباگ کردن با اردک پلاستیکی را بدانیم که بهصورت زیر است:
- یک اردک پلاستیکی یا هر اجسام دیگری که به آن علاقه دارید، تهیه کنید.
- اردک پلاستیکی را روی میز خود یا لپتاپ خود قرار دهید.
- به اردک پلاستیکی توضیح دهید که کدهایتان قرار است چه کاری انجام دهد و سپس خط به خط کدها و نحوه کار آن را به اردک شرح دهید.
- به احتمال زیاد در مرحله سوم موقع توضیح دادن کدها متوجه باگ کدهای خود خواهید شد و خواهید توانست آنها دیباگ کنید.
سخن پایانی:
در این مقاله به سوال Rubber Duck Debugging چیست؟ پاسخ دادیم. ممکن است دیباگ کردن به روش اردک لاستیکی برای شما مسخره و خندهدار باشد. اکثر از برنامه نویسان هنگام بروز باگ در برنامه نویسی از استراحت کردن، پیادهروی، ورزش و... برای آرامش ذهنی و حل باگهای خود استفاده میکنند.
برخی دیگر از برنامه نویسان از روش اردک پلاستیکی برای رفع باگهای برنامه نویسی استفاده میکنند. استفاده از اردک پلاستیکی در برنامه نویسی میتواند بسیاری از باگهای برنامه نویسی را حل کند پس پیشنهاد ما این است حتما یکبار این روش را امتحان کنید.