M
MercyNews
Home
Back
متصفح كروم يحظر ميزات محددة من لغة C++ في قاعدة الكود
تكنولوجيا

متصفح كروم يحظر ميزات محددة من لغة C++ في قاعدة الكود

Hacker News7h ago
3 دقيقة قراءة
📋

حقائق رئيسية

  • مشروع كروم حظر رسمياً ميزات محددة من لغة C++ للحفاظ على استقرار قاعدة الكود وأمنها عبر نظام المتصفحات الضخم الخاص به.
  • هذه القيود مفصلة في دليل النمط الرسمي للمشروع، الذي يعمل كمرجع نهائي لجميع المساهمين.
  • من بين الميزات المحظورة: std::make_unique و std::make_shared و std::regex بسبب مخاوف التوافق والأداء.
  • يوفر المشروع بدائل خاصة بكروم مثل base::MakeUnique لضمان سلوك ثابت عبر جميع المنصات المدعومة.
  • تشمل عمليات مراجعة الكود الآن فحوصات آلية تشير إلى الميزات الممنوعة قبل دمج الكود في الفرع الرئيسي.
  • دليل النمط هو وثيقة حية تتلقى تحديثات منتظمة مع تطور معايير C++ وتحسن دعم المترجم.

تطور قاعدة الكود

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

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

تشمل الميزات المحظورة عدة إضافات حديثة من C++ قد تهدد معايير استقرار وأمن المشروع. يؤكد هذا القرار تركيز المشروع على جودة الكود و التوافق عبر المنصات.

قائمة الميزات المحظورة

حدد مشروع كروم عدة ميزات من لغة C++ أصبحت ممنوعة الآن داخل قاعدة الكود. هذه القيود مفصلة في دليل النمط الرسمي للمشروع، الذي يعمل كمرجع نهائي للمساهمين.

من بين الميزات المحظورة:

  • std::make_unique - محظور بسبب مخاوف التوافق
  • std::make_shared - مقيد لأسباب توافق مماثلة
  • std::shared_ptr مع المصفوفات - غير مسموح به بسبب عدم اتساق التنفيذ
  • std::atomic مع أنواع معينة - محدود لمنع سلوك غير محدد
  • std::regex - محظور بسبب مشاكل الأداء والتوافق

يقوم المشروع أيضاً بتقييد استخدام std::filesystem و std::optional في سياقات معينة. هذه الميزات، رغم أنها جزء من معايير C++ الحديثة، تُعتبر غير مناسبة لمتطلبات كروم الخاصة.

يؤكد دليل النمط أن هذه القيود تنطبق على قاعدة الكود بأكملها، بما في ذلك جميع المشاريع الفرعية والاعتمادات. يجب على المساهمين الالتزام بهذه الإرشادات عند تقديم الكود للمراجعة.

مبررات القيود

ينبع قرار حظر هذه الميزات من الموقف الفريد لـ كروم كمشروع متعدد المنصات يدعم أنظمة تشغيل وبنية معالجة متعددة. يجب على المشروع الحفاظ على التوافق مع المترجمات والمكتبات الأقدم مع ضمان سلوك ثابت عبر المنصات.

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

الأداء هو عامل حاسم آخر. بينما تقدم بعض ميزات C++ الحديثة الراحة، قد لا تلبي متطلبات أداء كروم. فإن حجم المشروع الضخم يعني أن حتى تراجعات الأداء الطفيفة يمكن أن يكون لها تأثير كبير.

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

التأثير على التطوير

تؤثر هذه القيود بشكل كبير على كيفية كتابة المطورين للكود لكروم. يجب على المساهمين استخدام نهج بديلة تتماشى مع إرشادات المشروع مع تحقيق نفس الوظائف.

على سبيل المثال، بدلاً من استخدام std::make_unique، يجب على المطورين استخدام base::MakeUnique أو بدائل خاصة بكروم مماثلة. تم تصميم هذه البدائل بعناية للعمل بشكل ثابت عبر جميع المنصات المدعومة.

يوفر المشروع توثيقاً مفصلاً وأمثلة لكل ميزة مقيدة، مما يساعد المطورين على فهم البدائل المعتمدة. يتم تحديث هذا التوثيق بانتظام مع تطور المشروع.

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

اعتبارات مستقبلية

يقوم مشروع كروم بتقييم معايير الترميز الخاصة به باستمرار مع تطور C++. بينما تُحظر بعض الميزات حالياً، يبقى المشروع منفتحاً على إعادة النظر في هذه القرارات مع تحسن دعم المترجم ونضج المعايير.

دليل النمط هو وثيقة حية تتلقى تحديثات منتظمة. تشجع المساهمين على تقديم الملاحظات واقتراح التعديلات بناءً على التجربة الواقعية والمتطلبات المتغيرة.

مع نمو المشروع وظهور معايير C++ الجديدة، قد تُضاف ميزات إضافية إلى القائمة المحظورة، بينما قد تصبح أخرى مسموح بها في ظل شروط محددة. يضمن هذا النهج الديناميكي أن يبقى كروم في طليعة أفضل ممارسات هندسة البرمجيات.

يعكس التزام المشروع بهذه المعايير تفانيه في إنتاج برمجيات عالية الجودة وآمنة وقابلة للصيانة تخدم ملايين المستخدمين حول العالم.

النقاط الرئيسية

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

يجب على المطورين العاملين مع كروم التكيف مع هذه الإرشادات، باستخدام البدائل المعتمدة التي تضمن سلوكاً ثابتاً عبر المنصات. بينما قد يتطلب هذا جهداً إضافياً، فإن الفوائد في جودة الكود والموثوقية كبيرة.

تعكس معايير المشروع المتطورة طبيعة تطوير البرمجيات الديناميكية، حيث تتحسن أفضل الممارسات باستمرار لمواجهة التحديات والفرص الجديدة.

أسئلة مكررة

ما هي ميزات C++ التي حظرها كروم؟

حظر كروم عدة ميزات حديثة من لغة C++ بما في ذلك std::make_unique و std::make_shared و std::shared_ptr مع المصفوفات و std::atomic مع أنواع معينة و std::regex و std::filesystem و std::optional في سياقات معينة. هذه القيود مفصلة في دليل النمط الرسمي للمشروع.

لماذا حظر كروم هذه الميزات؟

تنبع القيود من مخاوف التوافق، اعتبارات أمنية، ومتطلبات أداء. بعض الميزات لها تنفيذ غير متسق عبر المنصات، بينما يمكن للآخرين أن يسببوا أخطاء دقيقة أو سلوكاً غير محدد قد يتم استغلاله.

ما هي البدائل التي يستخدمها المطورون؟

يوفر كروم بدائل خاصة مثل base::MakeUnique بدلاً من std::make_unique. تم تصميم هذه البدائل بعناية للعمل بشكل ثابت عبر جميع المنصات المدعومة وتلبي متطلبات أداء المشروع.

كيف يتم فرض هذه القيود؟

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

Continue scrolling for more

الذكاء الاصطناعي يحول البحث والبراهين الرياضية
Technology

الذكاء الاصطناعي يحول البحث والبراهين الرياضية

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

Just now
4 min
367
Read Article
Crime

Caroline Ellison Former Alameda CEO Released from Prison After 440 Days

Article URL: https://www.sec.gov/enforcement-litigation/litigation-releases/lr-26450 Comments URL: https://news.ycombinator.com/item?id=46740644 Points: 11 # Comments: 0

42m
3 min
0
Read Article
استراتيجية جوجل للمدارس: بناء ولاء العلامة التجارية مدى الحياة
Technology

استراتيجية جوجل للمدارس: بناء ولاء العلامة التجارية مدى الحياة

كشفت وثائق سرية من دعوى قضائية عن استراتيجية جوجل لاستثمار المدارس لبناء ولاء العلامة التجارية مدى الحياة لدى الأطفال.

2h
5 min
3
Read Article
قادة المملكة المتحدة يدينون تعليقات ترامب حول حلف الناتو في أفغانستان
Politics

قادة المملكة المتحدة يدينون تعليقات ترامب حول حلف الناتو في أفغانستان

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

2h
7 min
1
Read Article
لابتوبات Nvidia المبنية على Arm تتحدى هيمنة Intel Inside
Technology

لابتوبات Nvidia المبنية على Arm تتحدى هيمنة Intel Inside

كشف تسريب أن Lenovo طورت ستة لابتوبات مبنية على معالجات Nvidia المستقبلية، مما يمثل تحدياً كبيراً لهيمنة Intel وAMD في سوق لابتوبات Windows.

2h
5 min
3
Read Article
توسع منصة القيادة الذاتية مفتوحة المصدر لتشمل 325 طراز سيارة
Technology

توسع منصة القيادة الذاتية مفتوحة المصدر لتشمل 325 طراز سيارة

توسع منصة قيادة ذاتية مفتوحة المصدر لتشمل 325 طراز سيارة من 27 علامة تجارية، مما يمثل خطوة كبيرة نحو إمكانية الوصول إلى تقنيات القيادة الذاتية.

2h
5 min
2
Read Article
فورد تدخل سوق الشاحنات الكهربائية مع F-Line E لعام 2026
Automotive

فورد تدخل سوق الشاحنات الكهربائية مع F-Line E لعام 2026

تقوم فورد بدخول سوق الشاحنات الكهربائية المتوسطة والثقيلة مع إطلاق شاحنة F-Line E الكهربائية، المقرر طرحها في أوربا الغربية هذا الصيف.

2h
5 min
2
Read Article
ChargePoint توسع محطات شحن السيارات الكهربائية في مواقف تأجير السيارات
Technology

ChargePoint توسع محطات شحن السيارات الكهربائية في مواقف تأجير السيارات

تقوم ChargePoint بتركيب محطات شحن جديدة للسيارات الكهربائية في مواقف تأجير السيارات في ولاية ويسكونسن، مما يوسع إمكانية الوصول إلى الشحن في المطار والحي في أبلتون وماديسون.

3h
5 min
4
Read Article
ناشط من مينيسوتا ينشر فيديو اعتقاله بعد تلاعب البيت الأبيض
Politics

ناشط من مينيسوتا ينشر فيديو اعتقاله بعد تلاعب البيت الأبيض

ناشط من مينيسوتا ينشر الفيديو الكامل لاعتقاله في كنيسة، مقدماً سياقاً كاملاً يتعارض مع نسخة معدلة سبق أن نشرها البيت الأبيض.

3h
5 min
6
Read Article
يان لكون يطلق مختبرات AMI: نظرة داخل شركة البدء الذكية الاصطناعية الجديدة
Technology

يان لكون يطلق مختبرات AMI: نظرة داخل شركة البدء الذكية الاصطناعية الجديدة

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

3h
5 min
5
Read Article
🎉

You're all caught up!

Check back later for more stories

العودة للرئيسية