60% تخفیف ویژه دوره تخصصی وردپرس به مدت محدود مشاهده دوره

حل باگ در برنامه نویسی به روش مهندسی

باگ در برنامه نویسی برای  هر کسی که با کد نویسی سر و کار داشته باشد به وجود می آید (خواه مبتدی باشد و خواه حرفه ای). به همین خاطر لازم است شما بصورت کامل با انواع Bug آشنا باشید تا هنگامی که مشکلی در خروجی کار شما پیش آمد دچار دلهره  و سر در گمی نشوید. در این آموزش از وبسافت۳ در ابتدا متوجه می شوید باگ چیست و سپس با زبان ساده و همراه با مثال با انواع باگ های برنامه نویسی آشنا خواهید شد.

 

باگ (Bug) چیست؟

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

از این رو هر زمانی که با یک اشکال در برنامه نویسی مواجه می شوید نیاز است که نسبت به رفع آن اقدام نمایید. به فرایند رفع اشکال دیباگ می گویند. برای یافتن این اشکال در برنامه نویسی نیاز است که با انواع باگ های برنامه نویسی آشنا باشید.

 

معنی باگ در عامیانه

باگ در لغت به معنی حشره می باشد. در علم رایانه نیز این اصطلاح به معنای اشکال نرم افزاری هست و و برای خطاهای کوچک در سیستم استفاده می شود این خطا باعث به نتایج اشتباه یا اجرا نشدن برنامه می شود

 

اولین باگ در برنامه نویسی

این واژه اولین بار توسط خانم گریس هوپر که در دانشگاه هاروارد به تحقیق و تحصیل مشغول بود به کار رفت. هنگامی که ایشان در زمان کار با مشکل مواجه شد تکنسین ها جهت بررسی کامپیوتر آن را باز کردند و یک سوسک داخل آن پیدا شد که سیستم را مختل کرده بود.

تکنسین های خانم هوپر در ابتدا برای شوخی این واژه را به کار بردند. البته پیش از آن واژه Bug برای ایراد در دستگاه استفاده می شد، ولی در دنیای کامپیوتر اولین بار توسط خانم هوپر استفاده شد.

 

انواع باگ در برنامه نویسی

باگ در برنامه نویسی برای افرادی که با نرم افزار و کدنویسی آشنا نیستند غیرقابل تحمل می باشد و آن را یک ایراد بزرگ می دانند. ولی افرادی که در این زمینه تخصص دارند یا با آن آشنا هستند، این موضوع را یک خطای کوچک می دانند که با روشهای گوناگون باید به پیدا کردن و رفع آن در میان انبوه کد ها بپردازند (مانند پیدا کردن یک سوسک کوچک در یک سیستم بزرگ). فقط کافی است انواع باگ های برنامه نویسی را بشناسید تا بتوانید جهت رفع آن اقدامات لازم را انجام دهید.

 

Syntax (سینتکسی)

زمانی که هنگام نگارش کد از کاراکتر اشتباهی استفاده کنید یا استفاده از یک کاراکتر را فراموش کند با باگ سینتیکی روبرو می شوید. مثلاً یکی از کاراکتر ها را اشتباه تایپ کنید یا یکی از حروف و عملگر ها را اشتباه استفاده کنید.

 

Logic (منطقی)

یکی دیگر از باگ های برنامه نویسی باگ منطقی همانطور که از نام آن پیداست مربوط به زمانی می شود که عملیاتی برخلاف منطق نرم‌افزار انجام داده باشید و برنامه اطلاعات اشتباهی خروجی دهد و یا گیر گند و خروجی ارائه ندهد. مثلاً با ایجاد یک حلقه بی نهایت باعث شوید دنباله ای از کد ها به صورت مادام اجرا شوند.

 

Arithmetic (محاسباتی)

اگر هنگام ایجاد کد برای انجام محاسبات ریاضی اشتباهی صورت پذیرد به آن باگ محاسباتی می گویند. مثلاً یک عدد بر صفر تقسیم شود.

 

Resource (منابع)

این خطا زمانی رخ می دهد که هنگام به کارگیری منابع با خطا مواجه شوید. مثلاً به یک متغیر اشاره کنید که قبل از آن تعریف نشده و یا تهی باشد.

 

Teamworking (کار تیمی)

زمانی که به صورت تیمی کار می کنید و ارتباط درستی بین گروه وجود ندارد ممکن چنین اشتباهی (به دلایلی مانند نامگذاری متفاوت مستندات) برای شما رخ دهد.

 

Interfacing (تعامل)

یکی دیگر از باگ های برنامه نویسی خطای تعاملی است، خطای تعامل زمانی رخ می‌دهد که نرم‌افزار در تعامل با سایر بخش ها دچار خطا گردد مانند اجرای اشتباه پروتکل استفاده نادرست از api مدیریت نادرست سخت افزاری و … .

 

Multi-threading (چند رشته ای)

اگر در میان کد های خود برای اجرای رشته های متفاوت دچار اشتباه می شوید به آن خطا چند رشته ای می گویند. مثلاً اگر کار B زمانی شروع شود که کار A به اتمام برسد. ولی شما به اشتباه A را به صورتی تعریف کنید که برای شروع آن نیاز باشد که کار B به اتمام برسد.

 

 

انواع باگ از نگاه کاربر

یک نوع دسته بندی دیگر برای باگ های برنامه نویسی دسته بندی بر اساس دید کاربران است  که به باگ دیداری و عملکردی تقسیم می شوند.

 

دیداری 

برنامه به درستی کار می کند، ولی کاربر عملکردی که از او انتظار داریم را انجام نمی دهد. این نوع اشکال ممکن است در مواردی مانند طراحی واکنشگرا صورت پذیرد.

 

عملکردی

عملیاتی که برای برنامه در نظر گرفته ایم به درستی اجرا نمی شود. مثلاً زمانی که کاربر بر روی دکمه ذخیره کلیک می کند داده ها ذخیره نمی شود

 

انواع باگ از نظر سطح دشواری

اشکالات با تأثیر کم که بر تجربه کاربران کمترین اثر را می گذارند

اشکالات با تأثیر بالا که تاثیر زیادی بر عملکرد کاربران دارند ولی برنامه همچنان کار می کند

اشکالات حیاتی که باعث میشود برنامه به صورت کلی از کار بیفتد

 

طبقه بندی باگ های برنامه نویسی بر اساس محل وقوع آنها

اشکالات سطح واحد

این نوع خطا یک اشکال ساده نرم افزاری است که در یک واحد کد قرار می گیرد. این خطاها معمولاً به دلیل خطای منطقی و محاسباتی رخ می دهد و به راحتی رفع می‌شوند.

 

خطای سطح سیستم

این نوع باگ یک خطای پیچیده‌تر است که در هنگام تعامل چندین سیستم اتفاق می افتد .

 

خطا های خارج از محدوده

این خطا زمان رخ می دهد که کاربر به صورتی خارج از انتظار با برنامه تعامل می کند. مثلاً زمان پر کردن فیلم های یک فرم مقادیر را وارد می کند که برنامه برای آن طراحی نشده است.

 

جایزه نیم میلیون دلاری برای یافتن باگ در گوگل

تعداد زیادی از شرکت های بسیار بزرگ نرم افزاری دنیا جایزه هایی را برای پیدا کردن باگ و اشکال در نرم افزار محصولاتشان تعیین کرده اند. به عنوان مثال گوگل برای یافتن باگ در نرم افزار خود در مسابقه Pwn2Own یک جایزه نیم میلیون دلاری در نظر گرفت.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.