
شاید دیده باشید که برنامه نویسان اردک های لاستیکی را روی میز خود نگه می دارند. (ببینید آیا می توانید این مورد را ببینید در این توییتبرای مثال!) اما چه روی زمین آیا ارتباط بین اردک لاستیکی و برنامه نویسی وجود دارد؟
خوب، همه اینها به لطف مفهومی به نام است روش اشکال زدایی اردک لاستیکییا برنامه نویسی اردک لاستیکی.
بسیاری از برنامه نویسان یک اردک لاستیکی اسباب بازی را به عنوان یادآوری برای بحث در مورد مسائل و ساده کردن مشکلات روی میز خود نگه می دارند. آنها مشکلی که با آن روبرو هستند را با صدای بلند برای اردک یا دیگر جسم بی جان توضیح می دهند.
وقتی مشکلات را حل میکنید و کد را خط به خط برای یک اردک دوستانه توضیح میدهید که شما را قضاوت نمیکند، میتواند به شما کمک کند مسائل را از منظر جدیدی ببینید. کدگذاری اردک لاستیکی میتواند به شما کمک کند راهحلهای بهتری پیدا کنید، الگوریتمهای سادهتری برای پیادهسازی پیدا کنید و غیره.
در این پست، بیشتر بدانید که اشکال زدایی لاستیک اردک چیست، از کجا می آید، چرا و چگونه کار می کند، آیا می توانید اشکال زدایی لاستیک اردک را انجام دهید یا خیر. بدون اردک لاستیکی و از کجا می توانید اردک لاستیکی رمزگذاری خود را برای پیوستن به دکور میز خود تهیه کنید!
افشا: من یکی از وابستگان مفتخر به برخی از منابع ذکر شده در این مقاله هستم. اگر محصولی را از طریق پیوندهای من در این صفحه خریداری کنید، ممکن است کمیسیون کمی برای معرفی شما دریافت کنم. با تشکر!
اشکال زدایی اردک لاستیکی چیست؟
🦆 اشکال زدایی Rubber-ducking (گاهی به اختصار rubber-ducking) یک تکنیک رفع اشکال است. ایده اصلی پشت آن این است که صحبت کردن با صدای بلند می تواند به شما در حل مشکلات کمک کند.
عملکرد اردک لاستیکی کد کننده دقیقا چیست؟
کدنویس ها از یک اردک لاستیکی در برنامه نویسی استفاده می کنند (یا اسباب بازی دیگر، حیوانات عروسکی، حیوان خانگی، جسم بی جان و غیره) زیرا این یک شی کوچک است که هیچکس را آزار نمی دهد و همیشه می تواند به عنوان یادآوری روی میز شما باشد.
Duck به عنوان راهی برای کمک به شما در بیرونی کردن افکار و حل مشکل گام به گام عمل می کند و هر خط کد و هدف آن را با صدای بلند به زبان ساده توضیح می دهد.

پسندیدن اسکات در توییتر میگوید: «نمیتوانم تعداد دفعاتی را بشمارم که با یک همکار تماس گرفتهام تا مشکلی را که برای آن به کمک نیاز دارم توضیح دهد، و سپس در نیمه راه گفتم: «…اوه صبر کنید. من الان فهمیدم!’ بدون اینکه حرفی بزنند
با استفاده از اردک لاستیکی دستی خود برای رفع اشکال، نیازی نیست حرف همکاران را قطع کنید و مجبور نیستید که فقط برای خودتان زمزمه کنید دیوانه به نظر برسید. درعوض، اگر کسی شنود کرد، میتوانید دوست کوچکتان را بردارید و بگویید “من یک اردک لاستیکی هستم که اشکالات را برطرف میکنم – این یک چیز است!”
البته اگر کدنویس پس از توضیح دادن به اردک باز هم راه حلی پیدا نکرد، می تواند از دیگران کمک بخواهد. تکنیک اشکال زدایی اردک لاستیکی فقط یک نقطه شروع عالی است تا شما را با صدای بلند فکر کنید.
☝️ بازگشت به ابتدا
هم اکنون کدنویسی را شروع کنید
از انتظار دست بردارید و شروع به یادگیری کنید! 10 نکته من برای یادگیری کدنویسی را دریافت کنید.
اشکال زدایی اردک لاستیکی از کجا می آید؟
ریشههای اشکالزدایی اردک لاستیکی را میتوان در کتاب برنامهنویس عملگرا: از مسافر تا استاد نوشته اندرو هانت و دیوید توماس جستجو کرد که اولین بار در سال 1999 منتشر شد.
داستانی در این کتاب وجود دارد که در مورد نحوه حمل یک اردک لاستیکی توسط یک برنامه نویس صحبت می کند و وقتی با یک باگ روبرو می شود کد خود را برای او توضیح می دهد. نویسندگان این تکنیک را به عنوان راهی برای توسعه دهندگان توصیف می کنند تا افکار خود را بیرونی کنند و کد آنها را بهتر درک کنند.

اصطلاح “اشکال زدایی اردک لاستیکی” در اوایل دهه 2000 ابداع شد و از آن زمان به عنوان یک اصطلاح شناخته شده در جامعه توسعه نرم افزار تبدیل شده است. این اغلب برای طنز استفاده می شود، اما خود روش اشکال زدایی اردک لاستیکی ثابت کرده است که روشی موثر برای توسعه دهندگان برای کشف اشکالات و حل مشکلات است.
از آن زمان، مهندسان نرم افزار از اردک های لاستیکی برنامه نویسی خود (و سایر اشیاء) استفاده می کنند تا به آنها کمک کنند تا از طریق کد فکر کنند.
☝️ بازگشت به ابتدا
روش اشکال زدایی اردک لاستیکی
رفع اشکال با اردک لاستیکی بسیار آسان است. در اینجا مراحل انجام می شود:
- 🐛 شما یک اشکال دارید و فرآیند بررسی منظم برای ردیابی آن در کدتان کار نمی کند.
- 🦆 اردک لاستیکی کدنویس خود را پیدا کنید و آن را در جلو و مرکز روی میز خود قرار دهید، آماده برای شروع کار! (همچنین می توانید یک شی بی جان دیگر، یک حیوان خانگی یا حتی یک دوست انسان را استخدام کنید.)
- 🗣️ کد را خط به خط برای اردک خود توضیح دهید. در مورد اینکه چرا چیزی را به روش خاصی کدنویسی کرده اید، اهداف شما برای کد چیست و غیره صحبت کنید. فرآیند سازماندهی افکار و بیان آنها با صدای بلند اغلب می تواند چیزی را در مغز شما “کلیک” کند. سعی کنید کد یا خطای خود را طوری توضیح دهید که انگار با یک بچه یا اردکی صحبت می کنید که اصلاً کد را نمی فهمد (که به هر حال اکثر اردک ها نمی فهمند!).
اگر زمان هایی وجود دارد که تکنیک اشکال زدایی لاستیکی کار نمی کند، همیشه می توانید از برنامه نویسان دیگر کمک بخواهید. اما از آنجایی که بیشتر توسعهدهندگان ترجیح میدهند ابتدا مدتی را صرف عیبیابی خود کنند، داشتن یک اردک لاستیکی کدنویسی مفید میتواند شما را به یک پیشرفت بزرگ سوق دهد.
☝️ بازگشت به ابتدا
چرا اشکال زدایی Rubber Duck کار می کند؟
حتی فقط اردک لاستیکی روی میز شما می تواند به شما در حل مشکلات کمک کند! در اینجا برخی از افکار کدنویسان در Reddit در مورد اینکه چرا کدنویسی با اردک لاستیکی برای آنها کار کرده است آورده شده است:
- strigonian: “به شما کمک می کند از اشتباه پرش از روی قطعات “بدیهی” کد جلوگیری کنید.” مردم تمایل دارند تصور کنند که برخی از قسمت ها آنقدر ساده یا ساده هستند که احتمالاً اشتباه می کنند، بنابراین نباید وقت خود را برای اسکن آن قسمت ها تلف کنند. توضیح دادن آن به یک “اردک” به غلبه بر این مشکل کمک می کند زیرا “اردک” شما چیزی نمی داند، بنابراین هیچ چیز برای “اردک” آشکار نیست.
- hollammi: “بلند صحبت کردن یک فرآیند کاملاً متفاوت در مغز شما است، به عنوان مثال، با تکرار چندین بار با صدای بلند، به خاطر سپردن اطلاعات بسیار آسان تر است.”
- PC__LOAD__LETTER: “بیشتر اوقات من به سوالم پاسخ میدهم و توضیح میدهم که چه چیزی امتحان کردهام و در مورد چه چیزهایی سردرگم هستم.”
- فیل رایان: «من یک اردک لاستیکی کوچک روی میزم نگه میدارم تا یادآوری کنم که تصمیم معمولاً در ذهن من است. فقط باید آهسته بگیرمش او انگیزه کوچک من است!»
علم همچنین از مفاهیم استفاده از اردک لاستیکی در برنامه نویسی پشتیبانی می کند! طبق مطالعه ای که توسط گری لوپیان از دانشگاه ویسکانسین انجام شد، خودگویی به افزایش توانایی های ادراکی شما کمک می کند.
هم اکنون کدنویسی را شروع کنید
از انتظار دست بردارید و شروع به یادگیری کنید! 10 نکته من برای یادگیری کدنویسی را دریافت کنید.
☝️ بازگشت به ابتدا
حتما باید اردک باشه؟
علیرغم نام آن، شما می توانید بدون دخالت اردک لاستیکی، اشکال زدایی اردک لاستیکی را انجام دهید! شما می توانید از هر چیزی استفاده کنید – یک اسباب بازی، یک حیوان خانگی، یک حیوان عروسکی، یک نوزاد و غیره! 🐱
در اینجا فقط چند نمونه از توسعه دهندگان در Reddit و Twitter آورده شده است:
اگر یک اردک لاستیکی برنامه نویس احساس خوبی ندارد، در نظر بگیرید که چه چیزی می تواند یک «تلسکوپ کدنویسی» خوب و متناسب با شخصیت شما ایجاد کند!

☝️ بازگشت به ابتدا
اردک اشکال زدایی اردک لاستیکی را از کجا بخریم
آیا می خواهید از داکی لاستیکی “سنتی” برای کدگذاری مسیر استفاده کنید؟ در اینجا لیست کوتاهی از برخی از گزینه های برنامه نویسی اردک لاستیکی مورد علاقه ما آمده است:

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