انواع خطاهای برنامه نویسی

انواع مختلفی از خطاهای برنامه ‌نویسی وجود دارد که ممکن است در مرحله توسعه یک برنامه نرم ‌افزاری بروز کند و هر برنامه ‌نویس باید نسبت به آن‌ها آگاه باشد. در این مقاله شرحی از معمول‌ترین اشکالات برنامه ‌نویسی را پیدا
شنبه، 31 خرداد 1393
تخمین زمان مطالعه:
موارد بیشتر برای شما
انواع خطاهای برنامه نویسی
انواع خطاهای برنامه نویسی

 

تألیف: حمید وثیق زاده انصاری
منبع:راسخون



 

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

 

انواع خطاهای برنامه نویسی
 
بیل وان: "انسان جایز الخطا است، برای موارد نا درست نیاز به یک کامپیوتر است".
میچ رتکلیف: "کامپیوتر به شما اجازه می دهد که نسبت به هر نوع اختراع دیگری در تاریخ بشریت، خطاهای سریع‌تری انجام دهید - به استثنای هفت تیر و می".
خطاهای برنامه ‌نویسی که در زبان تخصصی محاسبات تحت عنوان "اشکالات" شناخته‌ شده، برای هر توسعه ‌دهنده‌ی نرم‌ افزار یک مصیبت است. چون ماشین‌ها بیش از پیش در سیستم‌های جا سازی شده یا کامپیوترهایی که عمل کرد آن‌ها را کنترل می‌کنند، به صورت خودکار استفاده می‌شوند، هر خطای برنامه‌نویسی می‌تواند نتایج شدیدی داشته باشد. مواردی از سقوط سفینه‌های فضایی و هوا پیماها به دلیل اشکالات نرم‌ افزاری در تجهیزات محاسباتی جاسازی شده، وجود دارد. یک شکاف در برنامه ‌نویسی سیستم عامل می‌تواند امکان ورود هکرهایی را فراهم کند که می‌توانند به طرز آسیب‌ پذیری سوء استفاده نموده و امنیت کامپیوتر را در معرض خطر قرار دهند. بنا بر این همان طور که به طور روز افزون به کامپیوتر وابسته می‌شویم باید نسبت به خطاها نیز جدی‌تر باشیم.

انواع اساسی خطاهای برنامه نویسی

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

انواع خطاهای برنامه نویسی

توصیفی

خطای منطقی

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

خطای نحوی

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

خطای پردازش

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

خطای زمان اجرا

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

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

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

خطاهای منبع

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

خطای واسط

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

 

 

نظرات کاربران
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
مقالات مرتبط
موارد بیشتر برای شما
۱۰ اقدام عملی حضرت علی(ع) برای نظام‌مند ساختن بیت‌المال
۱۰ اقدام عملی حضرت علی(ع) برای نظام‌مند ساختن بیت‌المال
خون‌خواهی آیت‌الله خامنه‌ای؛ پاسخ به شبهات
خون‌خواهی آیت‌الله خامنه‌ای؛ پاسخ به شبهات
حرکات نمایشی یک نیروی مرزبانی هند در مراسم مرزی واگه–آتاری
play_arrow
حرکات نمایشی یک نیروی مرزبانی هند در مراسم مرزی واگه–آتاری
تحلیلگر نظامی: این بار مثل ویتنام نیست؛ ایران ما را در میدان نبرد شکست داد
play_arrow
تحلیلگر نظامی: این بار مثل ویتنام نیست؛ ایران ما را در میدان نبرد شکست داد
قالیباف: برای من حکم، حکم ولایت و رهبری است
play_arrow
قالیباف: برای من حکم، حکم ولایت و رهبری است
تشکیک مهم مجری ارشد سیاسی فاکس‌نیوز درباره ادعاهای ترامپ از جریان نفت در تنگه هرمز
play_arrow
تشکیک مهم مجری ارشد سیاسی فاکس‌نیوز درباره ادعاهای ترامپ از جریان نفت در تنگه هرمز
تراستی‌ها کیستند و چه نقشی در اقتصاد تحریم‌زده ایران دارند؟
play_arrow
تراستی‌ها کیستند و چه نقشی در اقتصاد تحریم‌زده ایران دارند؟
وندی شرمن: ترامپ برای بازگشایی تنگه هرمز ناگزیر از دادن امتیاز به ایران و لغو تحریم‌هاست
play_arrow
وندی شرمن: ترامپ برای بازگشایی تنگه هرمز ناگزیر از دادن امتیاز به ایران و لغو تحریم‌هاست
نماینده کنگره آمریکا: ترامپ بیش از حد بی‌کفایت است!
play_arrow
نماینده کنگره آمریکا: ترامپ بیش از حد بی‌کفایت است!
آخرین آواز ایرج خواجه‌امیری برای مردم
play_arrow
آخرین آواز ایرج خواجه‌امیری برای مردم
قالیباف: امام شهید با گفتار، رفتار و عملش به همه ما آموخت و ما را تربیت کرد
play_arrow
قالیباف: امام شهید با گفتار، رفتار و عملش به همه ما آموخت و ما را تربیت کرد
دیدگاه استاد علوم سیاسی دانشگاه لندن درباره میزان تاب آوری ایرانیان در جنگ
play_arrow
دیدگاه استاد علوم سیاسی دانشگاه لندن درباره میزان تاب آوری ایرانیان در جنگ
اگر هنگام حمله هوایی در طبقات بالایی ساختمان بودیم چه کنیم؟
اگر هنگام حمله هوایی در طبقات بالایی ساختمان بودیم چه کنیم؟
اگر هنگام حمله هوایی در خانه بودیم چه کنیم؟
اگر هنگام حمله هوایی در خانه بودیم چه کنیم؟
در دیدار رئیس سازمان بسیج مستضعفین با علما و مراجع تقلید قم چه گذشت؟
play_arrow
در دیدار رئیس سازمان بسیج مستضعفین با علما و مراجع تقلید قم چه گذشت؟