پسر
پسر
خواندن ۲ دقیقه·۳ سال پیش

اردک پلاستیکی نمیزاره باگ برات بمونه

اردک پلاستیکی درحال شنا و تفکر
اردک پلاستیکی درحال شنا و تفکر

به احتمال ۵۰٪ این متن رو درحالی میخونی که الان یه باگ توی کدت داری و هر لحظه ممکنه دیوونه بشی یا حتی بزنی مانیتور رو بشکونی، یا ممکنه جزو اون ۳۰٪ برنامه نویسی باشی که فعلا هیچ باگی رو مخش راه نمیره. احتمال اینم هست که جزو ۲۰٪ آخر باشی، کسی که دانش خاصی راجب برنامه نویسی نداره یا تازه داره بهش علاقه مند میشه. بگذریم، قراره یه اردک فقط با گوش دادن به حرف های تو کمک کنه تا کدهات رو دیباگ کنی. شاید یخورده عجیب باشه ولی منطقی ترین راهی محسوب میشه که تا الان برای رفع باگ های برنامه نویسی کشف شده و فقط ۳ تا مرحله داره?.

« رفع باگ دو برابر کدنویسی دشوارتر است »
- برایان کرنیگان -
  • یه اردک پلاستیکی تهیه کن و روی میز کارت بزار?
  • تمامی کد هایی که نوشتی رو خط به خط با جزئیات کامل به اردک توضیح بده?
  • درآخر به اردک پلاستیکی زردی که به حرف هات گوش میداد بگو که میخوای چه کاری انجام بدی?

مطمئنم الان داری پیش خودت میگی که این روش جنبه فان داره و فقط یه شوخی مسخره ست، ولی اشتباه فکر می‌کنی. شاید برات پیش اومده باشه که خواستی از کسی برای دیباگ کدت کمک بگیری و توی لحظه ای که داشتی بهش کد رو توضیح میدادی یهو راه حل به ذهنت برسه و با خودت بگی: " این چرا الان به ذهنم رسید؟‌ " خب این یه قضیه کاملا علمی و روانشناسی هست که من سطح سوادم بهش نمیرسه ولی میدونم که وقتی یچیزی رو «مینویسی» یا «میگی» و از حالت فقط "فکر بودن" خارجش میکنی ذهنت اون رو یجور دیگه با دقت بیشتر پردازش میکنه و کلا ساختارش عوض میشه‌ ( اگه راجب این قسمت شما اطلاعات بیشتری دارید تو کامنت بفرستید اضافه کنم ).
این روش توی مشکلات زندگی و اجتماعی هم صدق میکنه، برای همینه که ناخودآگاه دوس داریم کسی رو داشته باشیم که باهاش راجب مشکلاتمون صحبت کنیم و اون فقط گوش بده حتی اگه یه کلمه هم حرفی نزنه.
این ایده برای اولین بار از کتاب "برنامه نویس عملگرا" از نویسندگی " اندرو هانت " و "دیوید توماس" الهام گرفته شده و توی سال ۲۰۱۸ سایت StackOverFlow لوگوی اردک پلاستیکی رو پایین سایت گذاشته بود تا برنامه نویس ها مشکلاتشون رو به اون بگن و اون درآخر صدای اردک رو به برنامه نویسا پخش میکرد (شوخی اول آوریل بود).

راستی۱: بجای اردک پلاستیکی از اشیای بی جان دیگه هم میشه کمک گرفت، حتی از آدم ها هم میشه کمک گرفت ولی گاهی اوقات ممکنه پروژه ای که کد میزنیم محرمانه باشه و همون شئی بی جان منطقی تر بمونه?.
راستی۲: یادمه دوران کارآموزی خیلی این واسم پیش میومد که بالاسریم رو صدا بزنم و وقتی دارم مشکلم رو بهش میگم خودم جواب رو پیدا کنم، اینجوری وقت اون رو هم تلف میکردم. پس این رو حتما به برنامه نویس های کارآموز و تازه کار بفرستید :)))
راستی۳: اگه بعد از انجام مرحله آخر جواب مشکل رو پیدا نکردی یعنی اینکه کد ها رو خوب بهش توضیح ندادی و باید دوباره تمامی مراحل رو با دقت طی کنی?.

منو توی پلتفرم های دیگه دنبال کن تا باهمدیگه چیزای بیشتری یادبگیریم =)?

the-pesar.github.io


به امید روزهای بهتر... ۱۴۰۱/۰۱/۱۵

برنامه نویسیاردک پلاستیکیاردک برنامه نویسیRubber duck debuggingRubber duck
شاید از این پست‌ها خوشتان بیاید