وقتی کد شما کار می کند اما شما هیچ ایده ای ندارید که چرا: راهنمای بقا یک توسعه دهنده

مقدمه
هر توسعه دهنده ، در بعضی مواقع ، کدی را نوشت که به طرز معجزه آسایی کار می کند اما از همه منطق مخالف است. شاید این یک نقطه اصلی سرکش ، یک مسئله حافظه پنهان اسرارآمیز یا یک مداخله الهی از خدایان برنامه نویسی باشد. به هر صورت ، این لحظه سردرگمی می تواند خنده دار و وحشتناک باشد. بنابراین ، بیایید وقتی کد شما کار می کند ، وارد هنر اشکال زدایی شویم … اما شما هیچ سرنخی ندارید.
دام “من بعداً آن را برطرف می کنم”
همه ما آنجا بوده ایم. شما نظری مانند این اضافه می کنید:
// TODO: Figure out why this works
و شش ماه بعد ، شما به همان خط خیره می شوید ، اکنون عمیقاً از انتخاب زندگی خود پشیمان می شوید. اگر آینده-شما در حال حاضر در حال فحش گذشته هستید ، تبریک می گویم-شما وارد شده اید اشکال زدایی پارادوکس.
تکنیک های اشکال زدایی برای Clueless
1 روش “اشکال زدایی چاپ”
ابزارهای اشکال زدایی فانتزی را فراموش کنید – فقط یک دسته از سیاهههای مربوط به کنسول مانند یک جنگجوی واقعی را پرتاب کنید:
console.log("Why is this working?");
console.log("No, seriously, WHY?");
console.log("Send help.");
اگر کنسول مانند یک فیلمنامه ترسناک فیلم شروع به کار کرد ، می دانید که در مسیر صحیح هستید.
2 روش اردک لاستیکی
یک اردک لاستیکی (یا هر شیء بی جان) را بگیرید و شروع به توضیح کد خود کنید. در بعضی از مواقع ، شما اشتباه خود را متوجه خواهید شد ، و اردک روز را نجات می دهد – دوباره.
“صبر کنید … بنابراین اگر X تعریف نشده است ، اما y در حال بازگشت واقعی است … اوه نه.”
3 سرزنش کامپایلر
اگر همه چیز دیگر شکست خورد ، فرض کنید این تقصیر کامپایلر است. نحو خوب است. منطق معنی دارد. واضح است که جهان شکسته است.
4 قربانی کردن به خدایان کد
به عنوان آخرین راه حل ، یک دعای کوتاه بنویسید:
“اوه سرریز پشته ، هدایت کلیدهای من را راهنمایی کنید و تعهدات من را برکت دهید.”
لحظه نبوغ تصادفی
بعضی اوقات ، در لحظه ای از ناامیدی کامل ، شما خطوط تصادفی را اظهار نظر می کنید و – بومی – کار می کند. آیا می فهمید چرا؟ مطلقاً نه آیا برنده می شوید؟ هر زمان
// Some random line of code
// that I commented out
// and now everything works
“اگر شکسته نشود ، آن را برطرف نکنید.” – هر توسعه دهنده ، همیشه.
نتیجه گیری: هرج و مرج را در آغوش بگیرید
اشکال زدایی مناسک گذرگاه است. اگر کد شما کار می کند و هیچ ایده ای ندارید ، لحظه ای را گرامی می دارید. یک روز ، به عقب نگاه می کنید و می خندید (یا گریه می کنید). تا آن زمان ، Console.logging را نگه دارید ، به اردک لاستیکی اعتماد کنید و به یاد داشته باشید – گاهی اوقات بهترین رمزگذارها کسانی نیستند که همه چیز را درک می کنند ، بلکه کسانی هستند که هرگز تسلیم نمی شوند.
مسخره ترین داستان اشکال زدایی شما چیست؟
آیا تا به حال به طور تصادفی یک اشکال برطرف کرده اید؟ یا کشف کرده اید که کد شما صرفاً از شانس کار می کند؟ جالب ترین لحظه های اشکال زدایی خود را در نظرات زیر به اشتراک بگذارید! 😆