اخبار جدید یوبرد در اینستاگرام

کد مرده در برنامه نویسی، نباید در هیچ جای برنامه وجود داشته باشد. هر کدی که حذف آن، تأثیری بر خروجی برنامه نگذارد، کد مرده محسوب می شود. در این راستا یک الزام در استاندارد MISRA C++ وجود دارد که متن آن بصورت زیر است:

There shall be no dead code.

این یک قانون الزامی در استاندارد MISRA C++ شمارۀ 0-1-9 است. برای مرور کنندۀ کد مشخص نیست که وجود این کد عمدی است یا به دلیل خطای برنامه نویس رخ داده است. از نمونه‌های کد مرده، کدهای درون یک شرط if است که شرط آن هیچ‌گاه True نمی‌شود. در این صورت کدهای درون if هیچ‌گاه اجرا نمی‌شوند. علاوه بر این، کدهای مرده باعث پیچیدگی بی دلیل در برنامه شده و توسعه دهندگان دیگر و حتی خود توسعه دهندۀ آن را گمراه کرده و به اشتباه می اندازد. در برخی از موارد، کدهای مرده توسط ابزارهای چک استاتیک در IDEها، تشخیص داده نمی شود و درنتیجه Warning هم گرفته نمی شود. در برخی از ابزارهای IDE که مجهز به دیباگر هستند، در زمان دیباگ نرم افزار، کدهای مرده با رنگ دیگری به کاربر نمایش داده شده و کاربر می تواند آنها را تشخیص داده و اقدام به حذف آنها کند.  نمونه ای از مثال کد مرده را در نمونه کد زیر ارائه شده است:

int16_t has_dead_code (int16_t para)
{
int16_t local = 99;
para = para + local;
local = para; //dead code - Non-compliant
if (0 == local) //dead code - Non-compliant
{
local++; //dead code - Non-compliant
}
return para;
}

 

استاندارد MISRA C++ شامل قوانینی به منظور استفاده از زبان C++ در سیستم های حیاتی است. هم استادارد MISRA C و هم استاندارد MISRA C++ توسط یوبرد بررسی و تحلیل شده و در قالب آموزش و انجام پروژه در وبسایت یوبرد ارائه شده است.

لینک های مفید:

آموزش استاندارد MISRA C یوبرد

آموزش استاندارد MISRA C++ یوبرد


رضا اسدی

رضا اسدی

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

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

پیچیدگی نرم افزار

پیچیدگی نرم افزار

پیچیدگی نرم افزار (software complexity) در یک محصول از پیچیدگی عملکرد کدهای آن (رابط های سیستمی متعدد و الزامات پیچیده) سرچشمه می گیرد.

لزوم کد تست برای سخت افزار

لزوم کد تست برای سخت افزار

لزوم کد تست برای سخت افزار، به تسهیل فرایند توسعه برمیگردد.

خواندن متغیر قبل از مقداردهی به آن در استاندارد MISRA C++

خواندن متغیر قبل از مقداردهی به آن در استاندارد MISRA C++

خواندن متغیر قبل از مقداردهی به آن در استاندارد MISRA C++، ممنوع شده است.

آرایه با کلاس حافظۀ خارجی

آرایه با کلاس حافظۀ خارجی

آرایه با کلاس حافظۀ خارجی (در زمانی که آرایه با extern اعلان شود.)، در استاندارد MISRA C الزاماتی دارد.

پیش ثبت نام تا به حد نصاب رسیدن کلاس خصوصی 3 نفرۀ آموزش STM32

0 دیدگاه

یک دیدگاه بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دانلود

لطفا برای دریافت لینک دانلود اطلاعات خواسته شده را وارد نمایید
ضبط پیام صوتی

زمان هر پیام صوتی 4 دقیقه است