Architecture Decision Record

Active theme: Light

← أمثلة على سجلات القرارات

سجل قرار البنية المعمارية: محررات الشيفرة البرمجية

السياق

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

الأولويات

ينبغي أن تعطي البنية المعمارية لمحررات الشيفرة البرمجية الأولوية لما يلي:

  • الوحدوية (Modularity): ينبغي تصميم محرر الشيفرة بصورة وحدوية، بحيث يستطيع المطورون تخصيصه وتوسيعه بحسب الحاجة. وهذا يتيح بنية مرنة تتكيف مع احتياجات مختلف المطورين والفرق.

  • الأداء: ينبغي أن يكون محرر الشيفرة عالي الأداء وسريع الاستجابة، بحيث يعمل المطورون بكفاءة دون أن تبطئهم الأداة التي يستخدمونها.

  • واجهة المستخدم: ينبغي أن تكون واجهة المستخدم بديهية وسهلة الاستخدام، بحيث يركّز المطورون على شيفرتهم بدلًا من الصراع مع المحرر.

  • قابلية التوسعة: ينبغي تصميم محرر الشيفرة بحيث يسمح بالتوسعة السهلة بإضافات وتكاملات من أطراف ثالثة.

  • التوافق: ينبغي أن يكون محرر الشيفرة متوافقًا مع مجموعة واسعة من لغات البرمجة والتقنيات، مما يجعله أداة مفيدة لطيف واسع من المطورين.

القرار

استنادًا إلى هذه الأولويات، ينبغي تصميم البنية المعمارية لمحررات الشيفرة البرمجية بالمكونات التالية:

  • النواة: يوفر هذا المكوّن الوظائف الأساسية لمحرر الشيفرة، مثل تلوين الصياغة وتحرير النص وإدارة الملفات.

  • واجهة المستخدم (UI): يوفر هذا المكوّن واجهة المستخدم لمحرر الشيفرة، بما في ذلك القوائم وأشرطة الأدوات واختصارات لوحة المفاتيح.

  • الإضافات: يتيح هذا المكوّن للمطورين توسيع وظائف محرر الشيفرة بتثبيت إضافات من أطراف ثالثة. ويمكن للإضافات توفير ميزات إضافية، مثل إكمال الشيفرة أو فحص الشيفرة (linting) أو التنقيح.

  • التكاملات: يتيح هذا المكوّن لمحرر الشيفرة التكامل مع أدوات وتقنيات أخرى، مثل أنظمة التحكم في الإصدارات وأنظمة البناء وأدوات التنقيح.

المبرر

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

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

  • واجهة المستخدم: مهمة لأنها تتيح للمطورين التركيز على شيفرتهم بدلًا من الصراع مع المحرر. وقد يؤدي ذلك إلى إنتاجية أفضل وإحباط أقل لدى المطورين.

  • قابلية التوسعة: قوية لأنها تتيح تكييف محرر الشيفرة مع احتياجات وسير عمل مختلفة. ويمكن للإضافات والتكاملات من أطراف ثالثة أن توفر ميزات وقدرات إضافية غير مضمَّنة في المحرر الأساسي.

  • التوافق: قيّم لأنه يتيح استخدام محرر الشيفرة مع مجموعة واسعة من لغات البرمجة والتقنيات. وهذا يجعل المحرر أداة أكثر فائدة لطيف واسع من المطورين.

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