خطاهای برنامهنویسی میتوانند به دلیل اشتباهات تایپی یا منطق نادرست رخ دهند و نحوهی رخ دادن و تأثیر آنها بر روی برنامه، نوع خطایی که رخ داده است را تعیین میکند. بنابراین، در اینجا 4 تا از متدوالترین خطاها و اشتباهات برنامهنویسی را بررسی خواهیم کرد.
- خطای ساختاری (Syntax error)
- خطا زمان کامپایل (Compiler Error)
- خطاهای اجرایی (Runtime error)
- خطای منطقی (Logic error)
بدون در نظر گرفتن سطح مهارت و تجربه شما، هر فردی که با کد نویسی و برنامه نویسی کامپیوتر سر و کار دارد، گاهی اوقات با یک یا چند خطا در برنامه نویسی روبرو خواهد شد.
خطاهای برنامهنویسی میتوانند به دلیل اشتباهات تایپی یا منطق نادرست رخ دهند و نحوهی رخ دادن و تأثیر آنها بر روی برنامه، نوع خطایی که رخ داده است را تعیین میکند. بنابراین، در اینجا یک مروری از متدوالترین خطاها و اشتباهات برنامهنویسی را بررسی خواهیم کرد.
۱. خطای ساختاری (Syntax Error)
یک خطای ساختاری به شدت به یک اشتباه املایی، اشتباه گرامری یا نوشتاری پایه شباهت دارد. این خطا وقتی رخ میدهد که کد به شکل نادرست نوشته شده است.
انسانها بدون توجه به دستور زبان، نشانهگذاری و املای کلمات قادرند با یکدیگر ارتباط برقرار کنند. ما میتوانیم منظوری که فرد دیگری دارد را درک کنیم و از اشتباهات کوچک نوشتاری و گرامری صرف نظر کنیم. اما کامپیوترها (بطور کلی) قادر نیستند مانند ما از اشتباهات نوشتاری و گرامری چشمپوشی کنند. آنها قادر نیستند تشخیص دهند که برنامهنویس در نظر داشته است چه معنا را منتقل کند؛ به همین دلیل، خطاهای ساختاری رخ میدهند و اجرای صحیح برنامه را مختل میکنند.
عدم استفاده از نقطهویرگول (semicolon)، براکتهای اضافی (extra brackets)، دستوراتی که به صورت اشتباه نوشته شدهاند، و استفاده نادرست از حروف بزرگ در قسمتهایی از کد که نباید حروف بزرگ باشند، همگی مثالهایی از خطاهای ساختاری در برنامهنویسی هستند.
خطاهای ساختاری از آسانترین خطاها برای یافتن و اصلاح هستند. این بدلیل این است که کامپایلر معمولا مکان دقیق خطا را به شما نشان میدهد.
۲. خطا زمان کامپایل (Compiler Error)
خطاهای زمان کامپایل (Compile-time errors) اشتباهاتی هستند که در زمان ترجمه کد برنامه توسط کامپایلر رخ میدهند. این خطاها معمولاً به دلیل عدم تطابق با قوانین ساختاری زبان برنامهنویسی، خطای نحوی (Syntax errors)، تعریف نادرست متغیرها، استفاده نادرست از توابع و اشتباهات دیگر در زمان کامپایل بوجود میآیند.
این خطاها مانع اجرای صحیح برنامه میشوند و معمولاً با پیامهای خطا و اخطارهای کامپایلر همراه هستند که موقعیت و جزئیات خطا را نشان میدهند. برای رفع این خطاها، باید مشکلات مشخص شده در زمان کامپایل را برطرف کرده و برنامه را دوباره ترجمه کنیم تا بتوانیم آن را به درستی اجرا کنیم.
۳. خطای زمان اجرا (Run-Time Error)
خطاهای زمان اجرا (همچنین به عنوان خطاهای اجرا شناخته میشوند) خطاهایی هستند که زمانی ظاهر میشوند که شما یا یک کاربر سعی میکنید برنامهتان را اجرا کنید. در واقع، یک خطای زمان اجرا در زمان اجرا رخ میدهد و باعث گیج شدن کامپیوتر و خرابی آن میشود.
به عنوان مثال، دستورات شما ممکن است به ترتیب نادرستی نوشته شده باشند و به یک رخداد خاصی اتکا کنند که شما انتظارش را نداشتید. همچنین، شما ممکن است از کامپیوتر بخواهید کاری را انجام دهد که غیرممکن است. (یک مثال رایج در اینجا این است که از کامپیوتر بخواهید تقسیمی بر صفر انجام دهد.) یک دلیل دیگر برای وقوع خطای زمان اجرا، تعامل غیرمنتظره کاربر با برنامه است.
خطاهای زمان اجرا نوعی خطا هستند که میتوانند بر کاربران شما تأثیر منفی بگذارند و مانع دستیابی آنها به هدفی که از نرمافزار شما میخواهند شوند. این خطاها را با برخورد مستقیم با آنها شناسایی میکنید، بنابراین اطمینان حاصل کنید که تستها را به طور جامع انجام دادهاید. همچنین، یک سیستم پشتیبانی فنی/گزارش/تیکت برای خطاها همیشه مفید است.
۴. خطای منطقی (Logic Error)
نوعی خطای کدنویسی که پیدا کردن و درست (دیباگ) کردن آن سختترین نوع خطا میباشد. در خطاهای منطقی، هیچ خرابی یا نشانه مفیدی برای اشاره به مشکل وجود ندارد. به جای آن، برنامه با موفقیت اجرا میشود، اما کاری را که شما میخواستید انجام نمیدهد.
خطاهای منطقی در برنامهها از آنجا ناشی میشوند که شما آنها را به گونهای برنامهریزی کردهاید که کار نادرستی انجام دهند. به همین دلیل، خطاهای منطقی باعث میشوند همه چیز به نظر درست و عملکرد صحیح بیاید، چرا که در واقع برنامه به زبان برنامهنویسی معتبری نوشته شده است و کامپیوتر دستوراتی را که به آن داده شده است اجرا میکند.
این بدان معنی است که شما با توجه به رفتار برنامه و خروجی تولید شده، متوجه خطای منطقی خواهید شد. رفع یک خطای منطقی ممکن است به معنای تنظیم کدتان یا بازنویسی چندین خط از آن باشد.
سخن پایانی
هر برنامه نویسی چه پیر، جوان، تازه کار یا با تجربه، با خطاهای برنامه نویسی روبرو خواهد شد و خودشان هم این خطاها را ایجاد خواهند کرد. این بخشی از کار است. اما هر چه بیشتر کد بنویسید، شما در تشخیص و اصلاح آنها مهارت بیشتری پیدا خواهید کرد.
یادتون باشه که هیچکس کامل نیست. به همین دلیل ما روشهای اشکالزدایی داریم.
منبع: parkersoftware