التحرك بشكل أسرع وكسر العقبات؟ ليس بهذه السرعة عندما يتعلق الأمر بالأنظمة المدمجة

شون بريستريدج - مهندس تطبيقات أول (FAE) ، رئيس فريق قسم أنظمة IAR في الولايات المتحدة FAE - في مقالته التحرك بسرعة وكسر الأشياء؟ ليس بهذه السرعة المضمنة "، يتحدث عن تفاصيل تطوير البرامج للأنظمة المدمجة ، مع التركيز على قضايا جودة الشفرة والاختبار.









" التحرك بشكل أسرع وكسر الحواجز " هو النهج الذي عبر عنه مارك زوكربيرج ، والذي يقدمه في ثقافة تطوير Facebook. بينما يبدو الأمر رائعًا عندما نتحدث عن إنشاء ميزات جديدة وإطلاقها بسرعة (حتى لو لم تكن مثالية) ، فإنها لا تزال تفقد جمالها عندما تحاول تطبيقها على تطوير البرامج للأنظمة المدمجة.







والسبب هو أن مجالات الموضوع مختلفة تمامًا. يكمن جوهر Facebook في تطوير الويب وقواعد البيانات ، مع وجود العديد من النقاط الوظيفية التي ربما لن تتأثر بشدة إذا لم تعمل ميزة جديدة مهمة بشكل صحيح. الأنظمة المدمجة ، بطبيعتها ، أنظمة ذات موارد محدودة ، مصممة بشكل أساسي لأداء وظيفة واحدة فقط ، أو ربما عدة وظائف. لذلك ، فإن فلسفة "التحرك بشكل أسرع وكسر الحواجز" المطبقة على نظام مضمن يمكن أن تجعل النظام بأكمله عديم الفائدة. اعتمادًا على الوظيفة التي ينفذها النظام المضمن ، يمكن أن تكون النتائج غير سارة في أحسن الأحوال وكارثية في أسوأ الأحوال.







هل هذا يعني أن أساليب تطوير التطبيقات السريعة (RAD) لا يمكن تطبيقها على الأنظمة المضمنة؟ بالطبع لا ، يمكن استخدام مثل هذه الأساليب ، لكن عليك أن تكون حريصًا جدًا في كيفية القيام بذلك.







"التسرع لا يجعلنا أسرع أو أكثر إنتاجية."



يعني التطور السريع أن جودة الكود تتراجع ، وبالتالي ضمان التسليم السريع للرمز. يسمى هذا أحيانًا متلازمة WISCY (تُنطق "ويسكي"): لماذا لا يقوم أي شخص آخر بالبرمجة ؟ هذا يعني أيضًا أن اختبار الكود لا يتم على الإطلاق أو يتم بشكل رسمي. في أي حال ، يمكن أن يسبب كلاهما مشاكل في المشروع ، لذلك يجب اتباع أفضل الممارسات لضمان جودة الكود.







( ) , , , . , . : « , . . , » [1]. .









, , , « ». , , . .







RAD , « » , , , « ». , . , - . , , , ( ) .







, , « ». , « ». , [2]. : « » [1].







. .:

— , , , , , , .




, , - , ? MISRA, CWE, CERT, . . , , , «» ++.







, , , . , , . , 50 , [3]. , , , « » . , , , . , , . , , .









« », :







— , . . , , , , , , . , — . , , .» [4]

, , , . , , , : ( «»), ( ), ( ) . - : , , [5].







( , ) . , . , , , . , , , . – . ( )? , , , ? , , , .







, « , » , , . , . IBM, 100$ , -- 1500$, – 10000$ [6]. , . « » (Test-Driven Development – TDD), . , , . , : , , ; . . , , .







,



, . , , , , . , , , , . , , – . , .










All Articles