من فضلك تسجيل الدخول أو تسجيل لتفعل ذلك.

فكرة جديدة – Stock.adobe.com

تعيق أكواد Java غير المستخدمة أو الميتة مهندسي البرمجيات ومطوريها، مما يتسبب في تبعيات غريبة ومخاطر أمنية. يشارك إريك كوستلو من Azul بعض النصائح حول كيفية تجنب أن تصبح عضوًا في نادٍ غير سار إلى حد ما

بواسطة

  • إريك كوستلو

نشرت: 29 مايو 2024

كم مرة قلت لنفسك، “يجب أن أقوم بإخلاء تلك السقيفة/الطابق العلوي/المرآب”؟

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

تنظيف الربيع

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

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

تدريبات أمنية على الحرائق

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

نعلم جميعًا أن تهديد الهجمات السيبرانية يتزايد، وقد واجهت جافا مؤخرًا تهديدًا كبيرًا في شكل ثغرة Log4J. كان أي قائد هندسي مهتمًا بالقراءة تقرير فيراكود أنه بعد مرور أكثر من عامين على الحادثة، وجدت 38,278 تطبيقًا فريدًا يشغل إصدارات Log4j من 1.1 إلى 3.0.0-alpha1 عبر 3,866 مؤسسة مختلفة.

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

حل هذه المشكلة مشابه لاكتشاف التعليمات البرمجية الميتة؛ تتبع ما يجري والتركيز على ذلك.

إذًا كيف تتجنب عضوية Dead Java Code Society؟

كود مرتب، عقل مرتب

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

والخبر السار هو أن هذا لا يحتاج إلى تشتيت الانتباه عن المتطلبات الأخرى، لأن الجمع بين إطار العمل والأدوات الصحيحة يمكن أن يمكّنك من التخلص من المشكلة دون أن تصبح مستهلكة بالكامل.

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

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

إذا اتبعت إحدى المؤسسات أسلوبها الصحيح في التعامل مع تعليمات Java البرمجية الميتة، فسيكون الفريق الهندسي في النهاية أكثر إنتاجية.

وكما هو الحال مع المثل القديم “مكتب مرتب، عقل مرتب”، فإن إزالة الفوضى تعني أن الفرق يمكنها التركيز على ما هو مهم، بدلاً من الاضطرار إلى غربلة الأشياء غير المرغوب فيها. في أحد الأمثلة من جولدمان ساكس، سلط دارشان ميهتا، نائب رئيس قسم الهندسة الأساسية في المؤسسة، الضوء على فوائد تقليل حجم قاعدة التعليمات البرمجية بنسبة 67%.

واقترح أن يؤدي ذلك إلى تقليل التعقيد وجعل قاعدة التعليمات البرمجية أسهل في التنقل والاختبار، مما أعطى أيضًا ثقة أكبر في عملية الاختبار بالإضافة إلى توفير الوقت الذي يمكن استثماره في مكان آخر. والأهم من ذلك، أن مسارات البناء والتسليم كانت أسرع، حيث كانت هناك تعليمات برمجية أقل للتحليل الثابت واختبارات أقل مطلوبة، مما يعني تحسن إيقاع إصدار المنتج إلى أكثر من 250 إصدارًا سنويًا.

اعفاء عضويتك

من خلال تجنب عضوية Dead Java Code Society، يمكنك إنشاء نطاق ترددي يمكن تطبيقه على كافة التعقيدات الأخرى لإدارة البيئات المستندة إلى Java. والأهم من ذلك، أنها ستسمح للمطورين بالقيام بما يحلو لهم: كتابة تعليمات برمجية جديدة يتم استخدامها بالفعل.

إريك كوستلو هو المدير الأول لإدارة المنتجات في ازول، مورد خدمات منصة Java مع العملاء بما في ذلك Mastercard وPuma وTaboola وWorkday. بدأ حياته المهنية في مجال تكنولوجيا المعلومات عندما كان طالبًا في إلينوي، وعمل منذ ذلك الحين كخبير تقني وكاتب في مجال التكنولوجيا. بين عامي 2013 و2016، عمل كمدير منتج رئيسي في Oracle حيث قاد معالجة سلسلة من مشكلات أمان Java.

اقرأ المزيد عن متطلبات أمان التطبيقات والترميز

اقرأ أكثر

آبل تعمل على تعزيز خصوصية مزايا الذكاء الاصطناعي
يوتيوب يطلق منصة الألعاب القابلة للتشغيل

Reactions

0
0
0
0
0
0
بالفعل كان رد فعل لهذا المنصب.

ردود الفعل