غیر حرفه ای ترین روش در کدنویسی، استفاده از تاخیری است که کل سیستم را منتظر می گذارد. منظور استفاده از توابع delay بوده که در آنها از حلقه های تکرار مثل for و while استفاده می شود. در این تاخیرها برنامه به اندازه ای که کاربر نیاز دارد متوقف می شود. استفاده از چنین تاخیرهایی در سیستم های حیاتی هیچ جایگاهی ندارد.
فیلم آموزش استاندارد MISRA C، کدنویسی سیستم های حیاتی
علاوه بر اینکه استفاده از این روش باعث می شود که کل سیستم منتظر اجرای یک خط برنامه باشد، مشکلات متعدد دیگر نیز دارد. بطور مثال با استفاده از این تاخیرها، توسعه برنامه و عیب یابی و رفع ایراد حتی برای خود توسعه دهنده آن نرم افزار دشوار می شود. یک نرم افزار، هرچقدر غیر اصولی باشد اما از تاخیرهایی که سیستم را متوقف می کند در آن استفاده نشده باشد، توسعه آن توسط یک توسعه دهنده دیگر چندان دشوار نخواهد بود. اما اگر از تاخیرهایی که سیستم را متوقف می کند استفاده شده باشد، رفع ایراد و توسعهآن توسط یک توسعه دهنده دیگر بسیار دشوار خواهد بود.
به عبارت دیگر استفاده از تاخیرهایی که سیستم را متوقف می کند، غیرحرفه ای ترین اشتباه عمومی در پروژه هاست. به توسعه دهندگان پیشنهاد می شود که مهمترین پارامتر برای اینکه تصمیم بگیرند که نرم افزار یک شخص دیگر را توسعه دهند یا خیر، استفاده یا عدم استفاده ای این تاخیرها در نرم افزار نوشته شده است.
در طول سالهای گذشته مطالب متعددی درمورد عدم استفاده از توابع delay که سیستم را متوقف می کند، منتشر کرده ایم. از جمله می توان به موارد زیر اشاره کرد.
کتابخانه Delay برای میکروکنترلر
آموزش روش حذف کتابخانۀ delay از پروژه های میکروکنترلری
0 دیدگاه