<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Developer Experience | The .NET Blog</title><link>https://thedotnetblog.com/ar/tags/developer-experience/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ar</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Sun, 21 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ar/tags/developer-experience/index.xml" rel="self" type="application/rss+xml"/><item><title>مراجعة طلبات السحب داخل Visual Studio هي بالضبط نوع تقليل الاحتكاك الذي يعجبني</title><link>https://thedotnetblog.com/ar/news/emiliano-montesdeoca/visual-studio-pull-request-review-inside-the-ide/</link><pubDate>Sun, 21 Jun 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ar/news/emiliano-montesdeoca/visual-studio-pull-request-review-inside-the-ide/</guid><description>يمكن لبرنامج Visual Studio الآن مراجعة طلبات السحب من البداية إلى النهاية من دون مغادرة IDE. قد يبدو ذلك تدريجيًا، لكنه يزيل كثيرًا من تبديل السياق غير الضروري بالنسبة للفرق التي تقضي يومها كله داخل Visual Studio.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;تمت ترجمة هذه المقالة تلقائيًا. لقراءة الأصل، &lt;a href="https://thedotnetblog.com/ar/news/emiliano-montesdeoca/visual-studio-pull-request-review-inside-the-ide/"&gt;انقر هنا&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;لقد أخذ المتصفح أكثر من اللازم من سير عمل مراجعة الكود لفترة طويلة جدًا.&lt;/p&gt;
&lt;p&gt;لذلك أنا سعيد جدًا لرؤية Visual Studio يتقدم أكثر في &lt;strong&gt;مراجعة طلبات السحب من البداية إلى النهاية داخل IDE&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;هذه من تلك الميزات التي قد لا تصنع عناوين ضخمة، لكنها قادرة تمامًا على تحسين التطوير اليومي.&lt;/p&gt;
&lt;h2 id="القيمة-الرئيسية-بسيطة-تبديل-سياق-أقل"&gt;القيمة الرئيسية بسيطة: تبديل سياق أقل&lt;/h2&gt;
&lt;p&gt;عندما تعيش حلقة المراجعة جزئيًا داخل IDE وجزئيًا في المتصفح، يتراكم الاحتكاك:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;افتح طلب السحب في مكان آخر&lt;/li&gt;
&lt;li&gt;افحص التغييرات في أداة واحدة&lt;/li&gt;
&lt;li&gt;ارجع إلى الحل لمزيد من التحقيق&lt;/li&gt;
&lt;li&gt;انتقل مرة أخرى للتعليق أو الموافقة&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;الأمر ليس كارثيًا. إنه فقط غير فعّال.&lt;/p&gt;
&lt;p&gt;إذا تمكن Visual Studio من أن يتيح لك فتح طلب السحب وفحصه والتعليق عليه والموافقة عليه ودمجه من نفس بيئة العمل، فهذه مكسب إنتاجي حقيقي.&lt;/p&gt;
&lt;h2 id="خيار-المراجعة-من-دون-checkout-لطيف-بشكل-خاص"&gt;خيار &amp;ldquo;المراجعة من دون checkout&amp;rdquo; لطيف بشكل خاص&lt;/h2&gt;
&lt;p&gt;أحد الأمور التي أحبها بشكل خاص هو إمكانية المراجعة من دون سحب فرع طلب السحب.&lt;/p&gt;
&lt;p&gt;قد يبدو ذلك صغيرًا، لكنه مثالي لـ:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;جولات مراجعة سريعة&lt;/li&gt;
&lt;li&gt;طلبات ملاحظات مرتبطة بمقاطعات العمل&lt;/li&gt;
&lt;li&gt;إبقاء الفرع الحالي والحالة المحلية كما هي&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;هذا بالضبط نوع المرونة التي تحتاجها أدوات مراجعة الكود الجيدة.&lt;/p&gt;
&lt;h2 id="وجهة-نظري"&gt;وجهة نظري&lt;/h2&gt;
&lt;p&gt;هذه ليست ميزة ثورية.&lt;/p&gt;
&lt;p&gt;إنها شيء أفضل: ميزة عملية.&lt;/p&gt;
&lt;p&gt;بالنسبة للفرق التي تقضي معظم يومها في Visual Studio، فإن دعم مراجعة طلبات السحب بشكل أعمق يعني انقطاعات أقل في سير العمل ومسارًا أكثر سلاسة من الفحص إلى الفعل.&lt;/p&gt;
&lt;p&gt;هذا تحسين يستحق العناء في رأيي.&lt;/p&gt;
&lt;p&gt;المقال الأصلي: &lt;a href="https://devblogs.microsoft.com/visualstudio/review-pull-requests-without-leaving-visual-studio/"&gt;مراجعة طلبات السحب من دون مغادرة Visual Studio&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>أطر تشغيل الوكلاء (Agent Harnesses) مهمة لأن الأوامر النصية وحدها لا تكفي</title><link>https://thedotnetblog.com/ar/news/emiliano-montesdeoca/agent-harness-claw-why-the-runtime-shell-matters/</link><pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ar/news/emiliano-montesdeoca/agent-harness-claw-why-the-runtime-shell-matters/</guid><description>يُذكّرنا شرح claw وharness الجديد من فريق Microsoft Agent Framework بأن الوكلاء الحقيقيين يحتاجون إلى غلاف تشغيل حول النموذج: أدوات، وتخطيط، وذاكرة، وجلسات، وحلقة تنفيذ عملية.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;تمت ترجمة هذا المقال تلقائياً. للنسخة الأصلية، &lt;a href="https://thedotnetblog.com/ar/news/emiliano-montesdeoca/agent-harness-claw-why-the-runtime-shell-matters/"&gt;انقر هنا&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;واحد من أسهل الأخطاء في تطوير الوكلاء هو الاعتقاد بأن الأمر النصي (prompt) هو المنتج نفسه.&lt;/p&gt;
&lt;p&gt;هذا غير صحيح.&lt;/p&gt;
&lt;p&gt;شرح &lt;strong&gt;agent harness وclaw&lt;/strong&gt; الجديد من فريق Microsoft Agent Framework قيّم لأنه يُبقي التركيز على الجزء الذي يحدد فعليًا ما إذا كان الوكيل قابلاً للاستخدام أم لا: الغلاف التشغيلي حول النموذج.&lt;/p&gt;
&lt;p&gt;ويشمل ذلك:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;الأدوات&lt;/li&gt;
&lt;li&gt;التخطيط&lt;/li&gt;
&lt;li&gt;حالة الجلسة&lt;/li&gt;
&lt;li&gt;الذاكرة&lt;/li&gt;
&lt;li&gt;أنماط التنفيذ&lt;/li&gt;
&lt;li&gt;وحدة تحكم أو واجهة قابلة للاستخدام للتكرار&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;هذا هو المكان الذي يتوقف فيه الوكلاء عن كونهم عروضًا توضيحية ذكية ويبدؤون بالشعور وكأنهم برمجيات فعلية.&lt;/p&gt;
&lt;h2 id="نمط-الـ-harness-عملي"&gt;نمط الـ harness عملي&lt;/h2&gt;
&lt;p&gt;ما يعجبني هنا هو مدى سهولة الوصول إلى الفكرة.&lt;/p&gt;
&lt;p&gt;تبدأ بعميل محادثة (chat client).&lt;/p&gt;
&lt;p&gt;ثم تُغلّفه ضمن harness مزوّد بتعليمات وأدوات.&lt;/p&gt;
&lt;p&gt;ثم تُشغّله عبر غلاف (shell) يدعم التخطيط، وقوائم المهام، والجلسات، والتفاعل المتدفق.&lt;/p&gt;
&lt;p&gt;هذا نمط صحي لأنه يفصل الاهتمامات بوضوح:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;النموذج يتعامل مع الاستدلال&lt;/li&gt;
&lt;li&gt;الـ harness يتعامل مع السلوك التشغيلي&lt;/li&gt;
&lt;li&gt;التطبيق يقرّر أي الأدوات والتجارب مهمة&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="هذا-يتناسب-جيدا-جدا-مع-طريقة-بناء-مطوري-net-للأنظمة"&gt;هذا يتناسب جيدًا جدًا مع طريقة بناء مطوري .NET للأنظمة&lt;/h2&gt;
&lt;p&gt;فكرة الـ harness تتماشى أيضًا بشكل جيد مع عقلية .NET.&lt;/p&gt;
&lt;p&gt;عادةً ما نُبلي بلاءً أفضل عندما يكون السلوك التشغيلي صريحًا وقابلاً للتركيب. البرمجيات الوسيطة (middleware)، وخطوط الأنابيب، والخيارات، والموفّرون، والمهايئات، كل ذلك يبدو طبيعيًا في هذا العالم.&lt;/p&gt;
&lt;p&gt;لهذا أعتقد أن Agent Framework لديه فرصة جيدة للانتشار بين مطوري .NET. إنه لا يُجبر الجميع على تجريد سحري واحد. إنه يمنحك قطعًا تشغيلية منظمة يمكنك ربطها معًا.&lt;/p&gt;
&lt;h2 id="رأيي"&gt;رأيي&lt;/h2&gt;
&lt;p&gt;الجزء الأكثر فائدة في هذا المنشور هو التذكير بأن الوكلاء يحتاجون إلى أكثر من نموذج جيد وسلسلة تعليمات ذكية.&lt;/p&gt;
&lt;p&gt;إنهم يحتاجون إلى غلاف تشغيلي يمنحهم البنية، والذاكرة، والوصول إلى الأدوات، والتخطيط، وحلقة تطوير عملية.&lt;/p&gt;
&lt;p&gt;هذا ما يمنحك إياه الـ harness.&lt;/p&gt;
&lt;p&gt;وبصراحة، هذا هو سبب استحقاق هذا النمط للانتباه.&lt;/p&gt;
&lt;p&gt;المصدر الأصلي: &lt;a href="https://devblogs.microsoft.com/agent-framework/meet-your-agent-harness-and-claw/"&gt;Meet your agent harness and claw&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>يُحكم Aspire في VS Code 13.4 حلقة عمل المطور بكل الطرق الصحيحة</title><link>https://thedotnetblog.com/ar/news/emiliano-montesdeoca/aspire-vscode-13-4-developer-loop/</link><pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ar/news/emiliano-montesdeoca/aspire-vscode-13-4-developer-loop/</guid><description>Aspire في VS Code 13.4 ليس مجرد تحديث ميزات. إنه تحسين حقيقي لحلقة التطوير اليومية عبر تصحيح أفضل، ورؤية أوضح للموارد، وتكامل أفضل مع اللوحات، ودعم لـ TypeScript AppHost.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;تمت ترجمة هذا المقال تلقائياً. للنسخة الأصلية، &lt;a href="https://thedotnetblog.com/ar/news/emiliano-montesdeoca/aspire-vscode-13-4-developer-loop/"&gt;انقر هنا&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;أفضل تحديثات الأدوات هي تلك التي تشعر بها بعد أيام قليلة من الاستخدام، لا تلك التي تبدو جيدة فقط في ملاحظات الإصدار.&lt;/p&gt;
&lt;p&gt;هذا ما يبدو عليه &lt;strong&gt;Aspire في VS Code 13.4&lt;/strong&gt; بالنسبة لي.&lt;/p&gt;
&lt;p&gt;يدور هذا التحديث بالكامل حول إحكام الحلقة الداخلية: إنشاء المشاريع بشكل أسرع، وتصحيح الموارد متعددة اللغات بطريقة أكثر طبيعية، وإظهار الصحة والأوامر مباشرة في المحرر، والإبقاء على لوحة التحكم قريبة دون جعلها المكان الوحيد الذي يمكنك العمل فيه.&lt;/p&gt;
&lt;p&gt;هذا اتجاه جيد جدًا.&lt;/p&gt;
&lt;h2 id="الفوز-الكبير-هو-تقليل-التنقل-بين-السياقات"&gt;الفوز الكبير هو تقليل التنقل بين السياقات&lt;/h2&gt;
&lt;p&gt;إذا كنت تستخدم Aspire بجدية، فأنت عادةً تتنقل عبر عدة أسطح:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;كود AppHost&lt;/li&gt;
&lt;li&gt;الطرفية&lt;/li&gt;
&lt;li&gt;لوحة التحكم&lt;/li&gt;
&lt;li&gt;السجلات&lt;/li&gt;
&lt;li&gt;جلسات التصحيح&lt;/li&gt;
&lt;li&gt;نقاط نهاية الخدمة&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ما يفعله 13.4 بشكل جيد هو تقليل الاحتكاك بين هذه الأسطح.&lt;/p&gt;
&lt;p&gt;تجعل تجربة VS Code الجديدة المزيد من حالة التطبيق مرئية بالضبط حيث تعمل بالفعل:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;صحة الموارد في المحرر&lt;/li&gt;
&lt;li&gt;أوامر بجانب إعلانات الموارد&lt;/li&gt;
&lt;li&gt;وصول أسهل إلى لوحة التحكم&lt;/li&gt;
&lt;li&gt;وصول إلى السجلات من سياق AppHost&lt;/li&gt;
&lt;li&gt;لوحة تبقى مفيدة حتى قبل بدء التصحيح الكامل&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;يبدو هذا صغيرًا حتى تفعله كل يوم.&lt;/p&gt;
&lt;h2 id="تصحيح-المكدسات-المختلطة-أهم-مما-يظن-الناس"&gt;تصحيح المكدّسات المختلطة أهم مما يظن الناس&lt;/h2&gt;
&lt;p&gt;أحد أقوى أجزاء هذا التحديث هو القصة الأكثر طبيعية لتصحيح &lt;strong&gt;C#، وTypeScript، وPython، وGo، وتطبيقات المتصفح، وAzure Functions&lt;/strong&gt; في تدفق واحد مدفوع بـ Aspire.&lt;/p&gt;
&lt;p&gt;هذا يعكس الشكل الحقيقي للتطبيقات الحديثة بشكل أفضل بكثير من التظاهر بأن كل شيء يعيش في وقت تشغيل واحد.&lt;/p&gt;
&lt;p&gt;بالنسبة لمطوري .NET بشكل خاص، هذا قيّم لأن كثيرًا منا يبني الآن أنظمة تمزج مشاريع API، والواجهات الأمامية، والعمّال (workers)، والخدمات ذات الصلة بالذكاء الاصطناعي بلغات مختلفة.&lt;/p&gt;
&lt;p&gt;كون Aspire يجعل هذا يبدو أكثر توحيدًا داخل VS Code هو تحسين عملي جدًا.&lt;/p&gt;
&lt;h2 id="وصول-دعم-typescript-apphost-إلى-الإتاحة-العامة-مهم-أيضا"&gt;وصول دعم TypeScript AppHost إلى الإتاحة العامة مهم أيضًا&lt;/h2&gt;
&lt;p&gt;لن أتجاهل جانب TypeScript AppHost من هذا الإصدار.&lt;/p&gt;
&lt;p&gt;أصبح Aspire أكثر طبيعية لكل من C# وTypeScript، وهذا يُوسّع دائرة من يمكنه العمل ضمن نموذج النظام نفسه دون سير عمل غريب من الدرجة الثانية. هذا مهم للفرق التي يعيش فيها كود المنصة، وكود الواجهة الأمامية، وتنسيق الخدمات بالقرب من بعضهم البعض.&lt;/p&gt;
&lt;h2 id="رأيي"&gt;رأيي&lt;/h2&gt;
&lt;p&gt;Aspire 13.4 في VS Code لا يتعلق بميزة واحدة قاتلة. إنه يتعلق بتنعيم الحواف الخشنة في الحلقة اليومية:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ابدأ بشكل أسرع&lt;/li&gt;
&lt;li&gt;شاهد المزيد من الحالة حيث تكتب الكود&lt;/li&gt;
&lt;li&gt;صحّح بشكل أكثر طبيعية&lt;/li&gt;
&lt;li&gt;انتقل إلى السجلات ولوحة التحكم فقط عند الحاجة&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;هذا بالضبط كيف يجب أن تتطور الأدوات الجيدة.&lt;/p&gt;
&lt;p&gt;إذا كنت تستخدم Aspire بالفعل، يبدو هذا التحديث يستحق التثبيت. أما إذا كنت لا تزال تتساءل عمّا إذا كان VS Code موطنًا جادًا للتطوير القائم على Aspire، فالإجابة تصبح أكثر وضوحًا يومًا بعد يوم.&lt;/p&gt;
&lt;p&gt;المصدر الأصلي: &lt;a href="https://devblogs.microsoft.com/aspire/aspire-vscode-extension-13-4/"&gt;Aspire in VS Code: the 13.4 developer loop&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>وكيل Plan الجديد في Visual Studio يحل مشكلة حقيقية جدًا في سير عمل الذكاء الاصطناعي</title><link>https://thedotnetblog.com/ar/news/emiliano-montesdeoca/visual-studio-plan-agent-build-before-code/</link><pubDate>Thu, 11 Jun 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ar/news/emiliano-montesdeoca/visual-studio-plan-agent-build-before-code/</guid><description>يهم وكيل Plan الجديد في Visual Studio لأنه يضيف مرحلة تخطيط منظمة قبل التنفيذ، وهو بالضبط ما تحتاجه غالبًا الميزات الكبيرة وعمليات إعادة الهيكلة.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;تمت ترجمة هذه المقالة تلقائيًا. لقراءة الأصل، &lt;a href="https://thedotnetblog.com/ar/news/emiliano-montesdeoca/visual-studio-plan-agent-build-before-code/"&gt;انقر هنا&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;من أكثر سير العمل المزعجة في كتابة الكود بالذكاء الاصطناعي أن يبدأ التنفيذ بسرعة زائدة.&lt;/p&gt;
&lt;p&gt;قد يكون الكود صحيحًا تقنيًا تمامًا، لكنه يحل النسخة الخاطئة من المشكلة التي كنت تقصدها.&lt;/p&gt;
&lt;p&gt;كنت تريد إعادة هيكلة، فبدأ إعادة كتابة.
كنت تريد تحسينًا محدود النطاق، فلامس نصف المشروع.
كنت تريد مناقشة الخيارات، فانتقل مباشرة إلى تغييرات الملفات.&lt;/p&gt;
&lt;p&gt;لهذا السبب يعد &lt;strong&gt;وكيل Plan&lt;/strong&gt; الجديد في Visual Studio إضافة مفيدة جدًا.&lt;/p&gt;
&lt;h2 id="هذا-يحل-مشكلة-حقيقية-في-سير-العمل-لا-مجرد-مشكلة-شكلية"&gt;هذا يحل مشكلة حقيقية في سير العمل، لا مجرد مشكلة شكلية&lt;/h2&gt;
&lt;p&gt;يصف المنشور الأصلي حالة مألوفة جدًا: &amp;ldquo;&lt;strong&gt;الكود ليس خاطئًا&amp;hellip; لكنه ليس ما كنت تريده.&lt;/strong&gt;&amp;rdquo;&lt;/p&gt;
&lt;p&gt;هذه العبارة ممتازة.&lt;/p&gt;
&lt;p&gt;لأن نقطة الضعف في كثير من التطوير المدعوم بالذكاء الاصطناعي ليست في قدرة النموذج على إنتاج الكود. بل في ما إذا كان سير العمل يمنح مساحة كافية للاتفاق على الشكل المقصود للعمل قبل بدء التنفيذ.&lt;/p&gt;
&lt;p&gt;ويصبح هذا مهمًا جدًا في الحالات التالية:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;الميزات الكبيرة&lt;/li&gt;
&lt;li&gt;قواعد الشيفرة غير المألوفة&lt;/li&gt;
&lt;li&gt;عمليات إعادة الهيكلة غير البسيطة&lt;/li&gt;
&lt;li&gt;التغييرات الحساسة على البنية&lt;/li&gt;
&lt;li&gt;العمل الذي يحتاج مراجعة الفريق قبل بدء التعديلات&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;في مثل هذه الحالات، فإن القفز مباشرة إلى التنفيذ غالبًا ما يكون الخطأ.&lt;/p&gt;
&lt;h2 id="التخطيط-ليس-عبئا-عندما-تكون-المهمة-حقيقية"&gt;التخطيط ليس عبئًا عندما تكون المهمة حقيقية&lt;/h2&gt;
&lt;p&gt;أعتقد أن الفرق تقلل أحيانًا من مقدار الوقت الذي تخسره عندما تبدأ التنفيذ مبكرًا جدًا.&lt;/p&gt;
&lt;p&gt;إذا قام الوكيل بما يلي:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;لمس الملفات الخطأ&lt;/li&gt;
&lt;li&gt;اختيار النهج الخطأ&lt;/li&gt;
&lt;li&gt;تجاهل قيد مهم&lt;/li&gt;
&lt;li&gt;إغفال حالة حافة مطلوبة&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;فإن البداية &amp;ldquo;السريعة&amp;rdquo; تتحول إلى سير عمل أبطأ في المحصلة.&lt;/p&gt;
&lt;p&gt;لهذا السبب يعجبني هذا الخيار.&lt;/p&gt;
&lt;p&gt;إنه يفسح المجال لـ:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;أسئلة توضيحية&lt;/li&gt;
&lt;li&gt;صياغة خطة&lt;/li&gt;
&lt;li&gt;تعديل الخطة مباشرة&lt;/li&gt;
&lt;li&gt;مشاركة الخطة قبل أن تبدأ تغييرات الكود&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;هذا ليس بيروقراطية. إنه غالبًا مجرد هندسة جيدة.&lt;/p&gt;
&lt;h2 id="ملف-الخطة-markdown-خيار-ذكي"&gt;ملف الخطة Markdown خيار ذكي&lt;/h2&gt;
&lt;p&gt;أحد التفاصيل التي أعجبتني خصوصًا هو أن كل خطة تُحفظ في &lt;code&gt;.copilot/plans/plan-{title}.md&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;هذا يجعل خطوة التخطيط ملموسة.&lt;/p&gt;
&lt;p&gt;يعني أن الخطة ليست محبوسة داخل سجل محادثة. بل تصبح شيئًا يمكنك:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;مراجعته&lt;/li&gt;
&lt;li&gt;تعديله&lt;/li&gt;
&lt;li&gt;نسخه ذهنيًا&lt;/li&gt;
&lt;li&gt;مناقشته مع زملائك&lt;/li&gt;
&lt;li&gt;تسليمه إلى التنفيذ بشكل أكثر قصدًا&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;هذا يجعل الميزة تبدو أكثر جدية بكثير من مجرد مقدمة مؤقتة قبل توليد الكود.&lt;/p&gt;
&lt;h2 id="هنا-تبدأ-سير-عمل-الذكاء-الاصطناعي-في-احترام-عملية-الفريق"&gt;هنا تبدأ سير عمل الذكاء الاصطناعي في احترام عملية الفريق&lt;/h2&gt;
&lt;p&gt;أعتقد أن هذا من أقوى المؤشرات على نضج هذه الأدوات.&lt;/p&gt;
&lt;p&gt;أفضل سير عمل للمطور مع الذكاء الاصطناعي ليس الذي يزيل كل الخطوات الوسيطة. بل الذي يحسن الخطوات الوسيطة الصحيحة.&lt;/p&gt;
&lt;p&gt;والتخطيط واحدة من تلك الخطوات.&lt;/p&gt;
&lt;p&gt;إذا كانت الخطة قوية، يصبح التنفيذ أسهل.
إذا كانت الخطة ضعيفة، يصبح التنفيذ صاخبًا ومربكًا.&lt;/p&gt;
&lt;p&gt;هذه الميزة تعترف بذلك مباشرة.&lt;/p&gt;
&lt;h2 id="وجهة-نظري"&gt;وجهة نظري&lt;/h2&gt;
&lt;p&gt;هذا ليس مجرد لطف من الذكاء الاصطناعي.&lt;/p&gt;
&lt;p&gt;إنه تحسين في سير العمل.&lt;/p&gt;
&lt;p&gt;وفي الميزات الحقيقية وعمليات إعادة الهيكلة الحقيقية، فهو بالضبط نوع التحسين الذي يمكن أن يوفر الكثير من التبديل غير الضروري، وضجيج المراجعة، وإعادة العمل من نوع &amp;ldquo;هذا ليس ما قصدته&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;أعتقد أن المزيد من تجارب الوكلاء ستحتاج في النهاية إلى شيء كهذا.&lt;/p&gt;
&lt;p&gt;Visual Studio وصل إلى ذلك مبكرًا بطريقة تبدو مفيدة.&lt;/p&gt;
&lt;p&gt;المقال الأصلي: &lt;a href="https://devblogs.microsoft.com/visualstudio/plan-before-you-build-introducing-the-plan-agent-in-visual-studio/"&gt;التخطيط قبل البناء: تقديم وكيل Plan في Visual Studio&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>حلقة التطوير لديك مليئة بالمعرفة القبلية - وAspire يقدّم الرد الصحيح</title><link>https://thedotnetblog.com/ar/news/emiliano-montesdeoca/tribal-knowledge-dev-loop-aspire/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ar/news/emiliano-montesdeoca/tribal-knowledge-dev-loop-aspire/</guid><description>ينجح منشور Aspire جديد في طرح نقطة قوية: كثير من الفرق لا تفتقر إلى الأدوات، بل إلى نموذج تطبيق متسق يحوّل المعرفة التشغيلية المخفية إلى شيء يمكن للبشر والبرامج النصية والوكلاء استخدامه فعليًا.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;تمت ترجمة هذه المقالة تلقائيًا. لقراءة الأصل، &lt;a href="https://thedotnetblog.com/ar/news/emiliano-montesdeoca/tribal-knowledge-dev-loop-aspire/"&gt;انقر هنا&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;قد تكون هذه واحدة من أهم المقالات عن Aspire لفهم &lt;em&gt;لماذا&lt;/em&gt; يهم هذا المنتج.&lt;/p&gt;
&lt;p&gt;ليس لأنه يعلن عن ميزة جديدة ضخمة.&lt;/p&gt;
&lt;p&gt;بل لأنه يسمّي مشكلة شعرت بها تقريبًا كل فرق الهندسة، وليس كل الفرق وصفتها جيدًا:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;حلقة التطوير مليئة بالمعرفة القبلية.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;هذه العبارة تصيب الهدف لأنها صحيحة.&lt;/p&gt;
&lt;h2 id="المشكلة-ليست-نقص-الأدوات"&gt;المشكلة ليست نقص الأدوات&lt;/h2&gt;
&lt;p&gt;الحجة الأساسية في المقال الأصلي ممتازة: كثير من الفرق لا تفتقر إلى البنية التحتية أو البرامج النصية أو لوحات المعلومات أو الأوامر.&lt;/p&gt;
&lt;p&gt;ما تفتقر إليه هو نموذج متماسك يحوّل كل المعرفة التشغيلية المخفية حول التطبيق إلى شيء مرئي وقابل للتكرار.&lt;/p&gt;
&lt;p&gt;الهيكل الحقيقي لكثير من التطبيقات يعيش في:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;سجل أوامر shell&lt;/li&gt;
&lt;li&gt;برامج نصية متناثرة&lt;/li&gt;
&lt;li&gt;أجزاء من ملفات README&lt;/li&gt;
&lt;li&gt;محادثات Slack&lt;/li&gt;
&lt;li&gt;ذلك المهندس الكبير الوحيد الذي يعرف ترتيب العمليات&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;هذه ليست حلقة تطوير مستدامة للبشر.&lt;/p&gt;
&lt;p&gt;وهي بالتأكيد ليست واحدة للوكلاء.&lt;/p&gt;
&lt;h2 id="الاقتباس-الذي-أرى-أنه-يلخص-المنشور-كله"&gt;الاقتباس الذي أرى أنه يلخّص المنشور كله&lt;/h2&gt;
&lt;p&gt;هناك جملة واحدة في المقال الأصلي أعتقد أنها تلتقط الفكرة الأوسع بشكل ممتاز:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;&lt;strong&gt;التطبيقات موجودة بالفعل كنظم. يجعل Aspire هذه النظم صريحة، لأن النظم الصريحة تتوسع أفضل من المعرفة القبلية.&lt;/strong&gt;&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;هذا هو جوهر الحجة في سطر واحد.&lt;/p&gt;
&lt;p&gt;وبصراحة، إنها واحدة من أقوى العبارات المختصرة عن Aspire التي رأيتها حتى الآن.&lt;/p&gt;
&lt;h2 id="لماذا-يهم-هذا-الآن-أكثر-من-قبل-عام"&gt;لماذا يهم هذا الآن أكثر من قبل عام&lt;/h2&gt;
&lt;p&gt;أعتقد أن هذه المقالة تصيب الهدف بشكل خاص في اللحظة الحالية لأن التطوير المدعوم بالذكاء الاصطناعي يغيّر كلفة الغموض.&lt;/p&gt;
&lt;p&gt;يمكن للبشر تعويض الأنظمة غير المكتملة بشكل مدهش.&lt;/p&gt;
&lt;p&gt;نتذكر:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;أي برنامج نصي نشغّله أولاً&lt;/li&gt;
&lt;li&gt;أي متغير بيئة مطلوب سرًا&lt;/li&gt;
&lt;li&gt;أي طرفية تعرض السجلات المفيدة عادةً&lt;/li&gt;
&lt;li&gt;أي خدمة تحتاج إلى إعادة تشغيل مرتين لأسباب لم يوثقها أحد&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;الوكلاء أضعف بكثير في هذا النوع من الفولكلور التشغيلي المخفي.&lt;/p&gt;
&lt;p&gt;لذلك إذا أردنا أن يصبح الوكلاء مفيدين بشكل حقيقي في المستودعات الفعلية، فعلينا أن نجعل النظام أكثر صراحة، لا أقل.&lt;/p&gt;
&lt;p&gt;لهذا أعتقد أن إطار Aspire مهم.&lt;/p&gt;
&lt;h2 id="القيمة-الحقيقية-لـ-aspire-ليست-فقط-التنسيق"&gt;القيمة الحقيقية لـ Aspire ليست فقط التنسيق&lt;/h2&gt;
&lt;p&gt;خطأ شائع هو النظر إلى Aspire فقط كأداة تشغيل تطبيقات موزعة أو أداة مساعدة للتنسيق المحلي.&lt;/p&gt;
&lt;p&gt;هذا إطار صغير جدًا.&lt;/p&gt;
&lt;p&gt;القيمة الأقوى هي أن Aspire يمنح التطبيق:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;نموذجًا&lt;/li&gt;
&lt;li&gt;شكلاً&lt;/li&gt;
&lt;li&gt;موارد مسماة&lt;/li&gt;
&lt;li&gt;تبعيات صريحة&lt;/li&gt;
&lt;li&gt;أسطحًا للصحة والعمليات&lt;/li&gt;
&lt;li&gt;أوامر يمكن للبشر والأتمتة فهمها&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;هذا يغيّر حلقة التطوير أكثر مما يدركه الناس أحيانًا.&lt;/p&gt;
&lt;p&gt;لأنه بمجرد أن يتوقف التطبيق عن كونه كومة من الاتفاقيات الضمنية ويبدأ في أن يكون نظامًا بنموذج حقيقي، تصبح عدة أشياء أسهل في الوقت نفسه:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;onboarding&lt;/li&gt;
&lt;li&gt;debugging&lt;/li&gt;
&lt;li&gt;إعداد يمكن تكراره&lt;/li&gt;
&lt;li&gt;اتساق CI&lt;/li&gt;
&lt;li&gt;سير العمل المدعوم بالذكاء الاصطناعي&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;هذا قدر كبير من الرافعة من خيار تصميم واحد.&lt;/p&gt;
&lt;h2 id="أحب-بشكل-خاص-زاوية-الأوامر-كعمليات-من-الدرجة-الأولى"&gt;أحب بشكل خاص زاوية &amp;ldquo;الأوامر كعمليات من الدرجة الأولى&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;نقطة أخرى من المقال الأصلي أعتقد أنها تستحق مزيدًا من الاهتمام هي الانتقال من تعليمات README إلى أوامر مرتبطة بالموارد.&lt;/p&gt;
&lt;p&gt;هذا تغيير كبير بشكل مخادع.&lt;/p&gt;
&lt;p&gt;بدلاً من القول:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;شغّل هذا البرنامج النصي، ثم ذاك، ثم ربما هذا الآخر إذا فشل الأول&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;يمكنك نمذجة العمليات مباشرة داخل سياق التطبيق.&lt;/p&gt;
&lt;p&gt;هذا يعني أن البشر يمكنهم اكتشافها بسهولة أكبر.&lt;/p&gt;
&lt;p&gt;ويعني أن الوكلاء لا يحتاجون إلى تخمين النية من النص.&lt;/p&gt;
&lt;p&gt;هذا هو النوع من الأشياء الذي يحول التطبيق من &amp;ldquo;يمكن تشغيله إذا كنت تعرفه بالفعل&amp;rdquo; إلى &amp;ldquo;قابل للتشغيل عن قصد&amp;rdquo;.&lt;/p&gt;
&lt;h2 id="ما-الذي-سأستخلصه-من-هذا-كقائد-فريق"&gt;ما الذي سأستخلصه من هذا كقائد فريق&lt;/h2&gt;
&lt;p&gt;لو كنت أراجع حلقة التطوير الخاصة بفريقي من هذا المنظور، فسأطرح أسئلة مباشرة:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;إلى أي مدى يعتمد إعدادنا على الذاكرة؟&lt;/li&gt;
&lt;li&gt;كم من الإجراءات التطويرية الحرجة تعيش فقط في الوثائق أو محادثات الدردشة؟&lt;/li&gt;
&lt;li&gt;كم مرة يتعثر القادمون الجدد بسبب سلوك نظام غير مرئي؟&lt;/li&gt;
&lt;li&gt;هل يمكن لأداة أتمتة أو وكيل برمجي أن يفهم طوبولوجيا تطبيقنا من المستودع نفسه؟&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;إذا كانت الإجابة عن السؤال الأخير هي &amp;ldquo;ليس قريبًا حتى&amp;rdquo;، فيجب أن تلامس هذه المقالة وترًا مهمًا بشكل مفيد.&lt;/p&gt;
&lt;h2 id="وجهة-نظري"&gt;وجهة نظري&lt;/h2&gt;
&lt;p&gt;هذا إطار قوي جدًا للقيمة الحقيقية لـ Aspire.&lt;/p&gt;
&lt;p&gt;ليس مجرد orchestration.&lt;/p&gt;
&lt;p&gt;إنه يتعلق بجعل نموذج التطبيق صريحًا بما يكفي ليصبح النظام أسهل في التشغيل والفهم والأتمتة.&lt;/p&gt;
&lt;p&gt;هذا مهم للبشر.
وهو مهم للفرق.
وهو مهم أكثر الآن لأن الكثير من التطوير الحديث يتحرك نحو سير عمل مدعوم بالوكلاء.&lt;/p&gt;
&lt;p&gt;هذا بالضبط نوع المقالة الذي يساعد على تفسير لماذا يبدو Aspire أكثر أهمية خارج مجرد علامة .NET التجارية.&lt;/p&gt;
&lt;p&gt;المقال الأصلي: &lt;a href="https://devblogs.microsoft.com/aspire/dev-loop-tribal-knowledge/"&gt;حلقة التطوير لديك مليئة بالمعرفة القبلية&lt;/a&gt;&amp;mdash;
title: &amp;ldquo;حلقة التطوير لديك مليئة بالمعرفة الضمنية، وAspire لديه الرد المناسب&amp;rdquo;
date: 2026-06-01
author: &amp;ldquo;Emiliano Montesdeoca&amp;rdquo;
description: &amp;ldquo;يطرح منشور جديد عن Aspire نقطة قوية: كثير من الفرق لا ينقصها الأدوات، بل ينقصها نموذج تطبيق متسق يحول المعرفة التشغيلية الخفية إلى شيء يستطيع البشر والسكربتات والوكلاء استخدامه فعليًا.&amp;rdquo;
tags:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aspire&lt;/li&gt;
&lt;li&gt;Developer Experience&lt;/li&gt;
&lt;li&gt;AI&lt;/li&gt;
&lt;li&gt;Dev Loop&lt;/li&gt;
&lt;li&gt;.NET&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;تمت ترجمة هذه المقالة تلقائيًا. لقراءة الأصل، &lt;a href="https://thedotnetblog.com/ar/news/emiliano-montesdeoca/tribal-knowledge-dev-loop-aspire/"&gt;انقر هنا&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;قد تكون هذه من أهم المقالات عن Aspire لفهم &lt;em&gt;لماذا&lt;/em&gt; هذه الأداة مهمة.&lt;/p&gt;
&lt;p&gt;ليس لأنها تعلن عن ميزة جديدة ضخمة.&lt;/p&gt;
&lt;p&gt;بل لأنها تسمي مشكلة يشعر بها تقريبًا كل فريق هندسي، لكن ليس كل فريق يصفها جيدًا:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;حلقة التطوير مليئة بالمعرفة الضمنية.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;هذه العبارة تلامس الواقع لأنها صحيحة.&lt;/p&gt;
&lt;h2 id="المشكلة-ليست-نقص-الأدوات-1"&gt;المشكلة ليست نقص الأدوات&lt;/h2&gt;
&lt;p&gt;الحجة الأساسية في المقال الأصلي ممتازة: الفرق غالبًا لا ينقصها البنية التحتية أو السكربتات أو لوحات المعلومات أو الأوامر.&lt;/p&gt;
&lt;p&gt;الذي ينقصها هو نموذج متماسك يحول كل المعرفة التشغيلية الخفية حول التطبيق إلى شيء مرئي وقابل للتكرار.&lt;/p&gt;
&lt;p&gt;البنية الحقيقية لكثير من التطبيقات تعيش في:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;سجل الأوامر في shell&lt;/li&gt;
&lt;li&gt;سكربتات متفرقة&lt;/li&gt;
&lt;li&gt;مقاطع متناثرة من README&lt;/li&gt;
&lt;li&gt;سلاسل Slack&lt;/li&gt;
&lt;li&gt;ذلك المهندس الكبير الوحيد الذي يعرف ترتيب العمليات&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;هذا ليس حلقة تطوير مستدامة للبشر.&lt;/p&gt;
&lt;p&gt;وبالتأكيد ليس كذلك بالنسبة للوكلاء.&lt;/p&gt;
&lt;h2 id="الاقتباس-الذي-أعتقد-أنه-يلخص-المنشور-بالكامل"&gt;الاقتباس الذي أعتقد أنه يلخص المنشور بالكامل&lt;/h2&gt;
&lt;p&gt;هناك جملة واحدة في المقال الأصلي أعتقد أنها تلخص الفكرة الأوسع بشكل ممتاز:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;&lt;strong&gt;التطبيقات موجودة بالفعل كنظم. يجعل Aspire تلك النظم صريحة، لأن النظم الصريحة تتوسع أفضل من المعرفة الضمنية.&lt;/strong&gt;&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;هذه هي الحجة كاملة في سطر واحد.&lt;/p&gt;
&lt;p&gt;وبصراحة، إنها من أقوى التفسيرات المختصرة لـ Aspire التي رأيتها حتى الآن.&lt;/p&gt;
&lt;h2 id="لماذا-يهم-هذا-الآن-أكثر-من-قبل-عام-1"&gt;لماذا يهم هذا الآن أكثر من قبل عام&lt;/h2&gt;
&lt;p&gt;أعتقد أن هذه المقالة تصيب الهدف بشكل خاص في اللحظة الحالية لأن التطوير المدعوم بالذكاء الاصطناعي يغيّر تكلفة الغموض.&lt;/p&gt;
&lt;p&gt;البشر يستطيعون تعويض الأنظمة غير المكتملة بشكل مدهش.&lt;/p&gt;
&lt;p&gt;نتذكر:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;أي سكربت يجب تشغيله أولًا&lt;/li&gt;
&lt;li&gt;أي متغير بيئة مطلوب سرًا&lt;/li&gt;
&lt;li&gt;أي طرفية تعرض السجلات المفيدة عادةً&lt;/li&gt;
&lt;li&gt;أي خدمة يجب إعادة تشغيلها مرتين لأسباب لم يوثقها أحد&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;الوكلاء أسوأ بكثير في هذا النوع من المعرفة التشغيلية غير الموثقة.&lt;/p&gt;
&lt;p&gt;لذلك إذا أردنا للوكلاء أن يصبحوا مفيدين فعلًا في المستودعات الحقيقية، فعلينا أن نجعل النظام أكثر صراحة، لا أقل.&lt;/p&gt;
&lt;p&gt;لهذا السبب أعتقد أن إطار Aspire مهم.&lt;/p&gt;
&lt;h2 id="قيمة-aspire-الحقيقية-ليست-فقط-orchestration"&gt;قيمة Aspire الحقيقية ليست فقط orchestration&lt;/h2&gt;
&lt;p&gt;من الأخطاء الشائعة مع Aspire اعتباره مجرد مشغل تطبيقات موزعة أو مساعد orchestration محلي.&lt;/p&gt;
&lt;p&gt;هذا إطار صغير جدًا.&lt;/p&gt;
&lt;p&gt;القيمة الأقوى هي أن Aspire يمنح التطبيق:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;نموذجًا&lt;/li&gt;
&lt;li&gt;شكلاً&lt;/li&gt;
&lt;li&gt;موارد مسماة&lt;/li&gt;
&lt;li&gt;تبعيات صريحة&lt;/li&gt;
&lt;li&gt;واجهات للصحة والعمليات&lt;/li&gt;
&lt;li&gt;أوامر يستطيع البشر والأتمتة فهمها معًا&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;هذا يغيّر حلقة التطوير أكثر مما يدركه الناس أحيانًا.&lt;/p&gt;
&lt;p&gt;لأنه عندما يتوقف التطبيق عن كونه كومة من الاتفاقيات الضمنية ويصبح نظامًا ذا نموذج حقيقي، تصبح عدة أمور أسهل دفعة واحدة:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;onboarding&lt;/li&gt;
&lt;li&gt;debugging&lt;/li&gt;
&lt;li&gt;الإعداد القابل للتكرار&lt;/li&gt;
&lt;li&gt;اتساق CI&lt;/li&gt;
&lt;li&gt;سير العمل المدعوم بالذكاء الاصطناعي&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;هذا كثير من النفوذ من خيار تصميم واحد.&lt;/p&gt;
&lt;h2 id="أحب-بشكل-خاص-زاوية-الأوامر-كعمليات-من-الدرجة-الأولى-1"&gt;أحب بشكل خاص زاوية &amp;ldquo;الأوامر كعمليات من الدرجة الأولى&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;نقطة أخرى في المقال الأصلي أعتقد أنها تستحق مزيدًا من الانتباه هي الانتقال من تعليمات README إلى أوامر مرتبطة بالموارد.&lt;/p&gt;
&lt;p&gt;هذا تغيير كبير بطريقة مخادعة.&lt;/p&gt;
&lt;p&gt;بدلًا من القول:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;شغّل هذا السكربت، ثم ذاك، ثم ربما هذا الآخر إذا فشل الأول&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;يمكنك نمذجة العمليات مباشرة داخل سياق التطبيق.&lt;/p&gt;
&lt;p&gt;هذا يعني أن البشر يستطيعون اكتشافها بسهولة أكبر.&lt;/p&gt;
&lt;p&gt;ويعني أن الوكلاء لا يحتاجون إلى تخمين النية من النثر.&lt;/p&gt;
&lt;p&gt;هذا هو النوع من الأشياء التي يحوّل التطبيق من &amp;ldquo;قابل للتشغيل إذا كنت تعرفه مسبقًا&amp;rdquo; إلى &amp;ldquo;قابل للتشغيل بالتصميم&amp;rdquo;.&lt;/p&gt;
&lt;h2 id="ماذا-كنت-سأستخلص-من-هذا-بصفتي-قائد-فريق"&gt;ماذا كنت سأستخلص من هذا بصفتي قائد فريق&lt;/h2&gt;
&lt;p&gt;إذا كنت أنظر إلى حلقة التطوير في فريقي من خلال هذه العدسة، فسأطرح بعض الأسئلة المباشرة:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;كم يعتمد إعدادنا على الذاكرة؟&lt;/li&gt;
&lt;li&gt;كم عدد إجراءات التطوير المهمة التي توجد فقط في الوثائق أو سلاسل الدردشة؟&lt;/li&gt;
&lt;li&gt;كم مرة يتعطل القادمون الجدد بسبب سلوك نظام غير مرئي؟&lt;/li&gt;
&lt;li&gt;هل يستطيع أداة أتمتة أو وكيل برمجة فهم طوبولوجيا التطبيق من المستودع نفسه؟&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;إذا كانت الإجابة عن السؤال الأخير هي &amp;ldquo;ليس حتى قريبًا&amp;rdquo;، فهذه المقالة يجب أن تلامس عصبًا مهمًا بطريقة مفيدة.&lt;/p&gt;
&lt;h2 id="وجهة-نظري-1"&gt;وجهة نظري&lt;/h2&gt;
&lt;p&gt;هذا إطار قوي جدًا لقيمة Aspire الحقيقية.&lt;/p&gt;
&lt;p&gt;إنه ليس مجرد orchestration.&lt;/p&gt;
&lt;p&gt;إنه يتعلق بجعل نموذج التطبيق صريحًا بما يكفي حتى يصبح النظام أسهل في التشغيل والفهم والأتمتة.&lt;/p&gt;
&lt;p&gt;هذا مهم للبشر.
وهو مهم للفرق.
وهو أهم الآن مع انتقال الكثير من التطوير الحديث نحو سير عمل مدعوم بالوكلاء.&lt;/p&gt;
&lt;p&gt;هذه بالضبط من نوع المقالات التي تشرح لماذا يبدو Aspire أكثر صلة الآن، وليس فقط كعلامة تسويقية لـ .NET.&lt;/p&gt;
&lt;p&gt;المقال الأصلي: &lt;a href="https://devblogs.microsoft.com/aspire/dev-loop-tribal-knowledge/"&gt;حلقة التطوير لديك مليئة بالمعرفة الضمنية&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>اختبارات Aspire الشاملة المعزولة هي النمط الذي ينبغي على مزيد من الفرق أن يتبنّاه</title><link>https://thedotnetblog.com/ar/news/emiliano-montesdeoca/hermetic-aspire-tests-why-this-pattern-matters/</link><pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ar/news/emiliano-montesdeoca/hermetic-aspire-tests-why-this-pattern-matters/</guid><description>توضح مادة Azure Chaos Studio عن الاختبارات نمطًا عمليًا جدًا: بيئات شاملة معزولة ومؤقتة مبنية على Aspire تزيد الاعتمادية لكل من البشر والتطوير بمساعدة الذكاء الاصطناعي.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;تُرجِمت هذه المقالة تلقائيًا. للاطلاع على النسخة الأصلية بالإنجليزية، &lt;a href="https://thedotnetblog.com/ar/news/emiliano-montesdeoca/hermetic-aspire-tests-why-this-pattern-matters/"&gt;انقر هنا&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;الاختبارات الشاملة الهشّة مكلفة بطريقة لا تظهر دائمًا على لوحة القياسات.&lt;/p&gt;
&lt;p&gt;هي لا تفشل فقط. بل تُدرّب الفريق ببطء على التوقف عن الثقة بحلقة التغذية الراجعة.&lt;/p&gt;
&lt;p&gt;ولهذا فإن هذا الشرح الخاص بـ &lt;strong&gt;Azure Chaos Studio + Aspire&lt;/strong&gt; جذبني فورًا. إنه ليس إعلانًا استعراضيًا عن منتج. بل قصة هندسية متينة عن كيفية جعل الاختبار الشامل يتوقف عن الشعور وكأنه مساومة مع الحظ.&lt;/p&gt;
&lt;p&gt;وبصراحة؟ أعتقد أن على مزيد من الفرق أن ينسخوا هذا النمط.&lt;/p&gt;
&lt;h2 id="الفكرة-الأساسية-بسيطة-لكن-العائد-كبير-جدا"&gt;الفكرة الأساسية بسيطة، لكن العائد كبير جدًا&lt;/h2&gt;
&lt;p&gt;الحركة الأساسية هنا هي منح كل اختبار بيئته الخاصة &lt;strong&gt;المعزولة المؤقتة&lt;/strong&gt;، مع خدمات حقيقية، وتبعيات حقيقية، وإقلاع صريح قائم على الجاهزية.&lt;/p&gt;
&lt;p&gt;يبدو ذلك بديهيًا عندما تقرأه في جملة واحدة. لكنه أصعب بكثير في الأنظمة الحقيقية، خصوصًا عندما تدخل التبعيات السحابية والبيئات المشتركة والخدمات الموزعة في الصورة.&lt;/p&gt;
&lt;p&gt;يشرح المقال الأصلي المشكلة بوضوح شديد: البيئات الاختبارية المشتركة تجلب معها &amp;ldquo;&lt;strong&gt;التداخل المتبادل، والهشاشة، ورسائل الدردشة الجماعية من نوع من الذي كسر staging؟&lt;/strong&gt;&amp;rdquo; باعتبارها ثمن العمل.&lt;/p&gt;
&lt;p&gt;هذه العبارة مضحكة لأنها مؤلمة للغاية.&lt;/p&gt;
&lt;p&gt;يتقبل عدد كبير من الفرق هذه المقايضة على أنها أمر طبيعي. أنا لا أعتقد أنه ينبغي عليهم ذلك.&lt;/p&gt;
&lt;h2 id="لماذا-يهم-هذا-النمط-أبعد-من-الاختبار"&gt;لماذا يهم هذا النمط أبعد من الاختبار&lt;/h2&gt;
&lt;p&gt;أكثر ما يعجبني هنا أن المقال لا يقول فقط: &amp;ldquo;جعلنا الاختبارات أكثر اعتمادية&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;إنه في الحقيقة يقول شيئًا أكبر:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;إذا كان من الصعب إعادة إنتاج نظامك الموزع، وعزله، والتحقق منه، فإن حلقة الهندسة بأكملها ستتباطأ.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;وهذا لا يؤثر على CI فقط.&lt;/p&gt;
&lt;p&gt;بل يؤثر على:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;مدى ثقة المطورين في إعادة الهيكلة&lt;/li&gt;
&lt;li&gt;سرعة تشخيص الانحدارات&lt;/li&gt;
&lt;li&gt;مدى أمان إجراء تغييرات معمارية أكبر&lt;/li&gt;
&lt;li&gt;مقدار الثقة التي يضعها الفريق في التحقق الآلي&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;وفي 2026، يؤثر أيضًا على مدى فائدة التطوير بمساعدة الذكاء الاصطناعي.&lt;/p&gt;
&lt;h2 id="أهم-اقتباس-في-المنشور"&gt;أهم اقتباس في المنشور&lt;/h2&gt;
&lt;p&gt;هناك سطر واحد في المقال أعتقد أنه يستحق أن يُعاد ذكره:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;&lt;strong&gt;لا يجب أن يكون الوكلاء مثاليين. يجب أن يكونوا قابلين للتحقق.&lt;/strong&gt;&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;هذا تأطير ممتاز جدًا.&lt;/p&gt;
&lt;p&gt;يقضي الناس وقتًا طويلًا في السؤال عمّا إذا كانت وكلاء كتابة الشيفرة بالذكاء الاصطناعي موثوقة بما يكفي لمساعدة العمل غير البسيط. وأعتقد أن السؤال الأفضل هو ما إذا كانت &lt;strong&gt;أنظمتنا قابلة للاختبار بما يكفي للحكم على ذلك العمل بشكل صحيح&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;إذا اقترح وكيل إعادة هيكلة ذات معنى، وكانت إشارة الأمان الوحيدة لديك عبارة عن مجموعة اختبارات شاملة هشة وشبه عشوائية تعمل فوق بيئة مشتركة، فالمشكلة ليست في الوكيل وحده.&lt;/p&gt;
&lt;p&gt;المشكلة في نموذج التحقق لديك.&lt;/p&gt;
&lt;p&gt;هذا النمط في Aspire يحسّن ذلك بشكل كبير.&lt;/p&gt;
&lt;h2 id="ما-الذي-يجعل-هذا-التطبيق-جيدا-على-نحو-خاص"&gt;ما الذي يجعل هذا التطبيق جيدًا على نحو خاص&lt;/h2&gt;
&lt;p&gt;هناك عدة أجزاء في القصة الأصلية تجعلها أكثر من مجرد منشور فضفاض من نوع &amp;ldquo;حسّنا الاختبارات&amp;rdquo;.&lt;/p&gt;
&lt;h3 id="1-مخطط-خدمات-حقيقي-لا-مسرحيات-زائفة"&gt;1. مخطط خدمات حقيقي، لا مسرحيات زائفة&lt;/h3&gt;
&lt;p&gt;الاختبارات لا تُبنى حول كومة من الـ mocks المفصولة التي تتظاهر بأنها تحقق شامل.&lt;/p&gt;
&lt;p&gt;بل تشغّل الثنائيات الحقيقية، وتربط المحاكيات حيثما أمكن، وتستخدم نموذج التطبيق نفسه المستخدم في التطوير المحلي.&lt;/p&gt;
&lt;p&gt;وهذا مهم.&lt;/p&gt;
&lt;p&gt;لأنه عندما تتحول الاختبارات الشاملة إلى مسرحية mock-against-mock، فإنها تتوقف عن إخبارك بأي شيء موثوق عن التركيب الحقيقي.&lt;/p&gt;
&lt;h3 id="2-إقلاع-قائم-على-الجاهزية-بدل-النوم-السحري"&gt;2. إقلاع قائم على الجاهزية بدل النوم السحري&lt;/h3&gt;
&lt;p&gt;هذا الجزء أكبر مما يبدو.&lt;/p&gt;
&lt;p&gt;يشير المقال بوضوح إلى أن الاختبارات تنتظر الجاهزية الفعلية باستخدام &lt;code&gt;WaitForResourceHealthyAsync&lt;/code&gt;، بدل الاعتماد على تخمينات زمنية عشوائية.&lt;/p&gt;
&lt;p&gt;هذا فرق هائل.&lt;/p&gt;
&lt;p&gt;مجموعة اختبارات تقول &amp;ldquo;انتظر 30 ثانية وتمنَّ الأفضل&amp;rdquo; هي عمليًا توثّق عدم اليقين. أما المجموعة التي تنتظر الجاهزية الحقيقية فهي توثق نية النظام.&lt;/p&gt;
&lt;h3 id="3-النموذج-نفسه-يقود-التطوير-المحلي-والاختبار"&gt;3. النموذج نفسه يقود التطوير المحلي والاختبار&lt;/h3&gt;
&lt;p&gt;أعجبني هذا كثيرًا لأنه ينسجم مع أقوى قصص Aspire عمومًا.&lt;/p&gt;
&lt;p&gt;نموذج التطبيق نفسه يقود:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;التطوير المحلي&lt;/li&gt;
&lt;li&gt;ربط الخدمات&lt;/li&gt;
&lt;li&gt;المحاكيات للتبعيات&lt;/li&gt;
&lt;li&gt;فحوصات الجاهزية&lt;/li&gt;
&lt;li&gt;تنسيق الاختبارات المعزولة المؤقتة&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;هذا يقلل الانحراف، والانحراف من أكثر القتلة الخفيين للثقة.&lt;/p&gt;
&lt;h2 id="هذا-النوع-من-الاستثمار-في-تجربة-المطورين-يستهان-به"&gt;هذا النوع من الاستثمار في تجربة المطورين يُستهان به&lt;/h2&gt;
&lt;p&gt;أحد أسباب رغبتي في أن يكون هذا المنشور أطول من مجرد انطباع سريع هو أنني أعتقد أن هذه التحسينات الهندسية غالبًا ما يُستهان بها.&lt;/p&gt;
&lt;p&gt;هي ليست براقة.&lt;/p&gt;
&lt;p&gt;لا تُعرض بسهولة مثل ميزة جديدة في الذكاء الاصطناعي.&lt;/p&gt;
&lt;p&gt;ولا تنتج دائمًا شريحة واحدة تثير حماس المديرين التنفيذيين.&lt;/p&gt;
&lt;p&gt;لكنها تخلق مع الوقت شيئًا أثمن بكثير: &lt;strong&gt;فريقًا يستطيع التحرك بسرعة أكبر من دون أن يكذب على نفسه بشأن الجودة&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;هذا أمر مهم جدًا.&lt;/p&gt;
&lt;p&gt;يذكر المقال أنهم يشغّلون الآن نحو &lt;strong&gt;90 اختبارًا معزولًا مؤقتًا&lt;/strong&gt;، بما في ذلك سيناريوهات مثل تعطل المناطق، وفشل DNS، وفشل النسخ المتماثل الجغرافي. هذا ليس مجرد تحسن في نظافة الاختبار. هذا نموذج ثقة أقوى بكثير لمنصة موزعة.&lt;/p&gt;
&lt;h2 id="ما-الذي-سأستخلصه-من-هذا-لو-كنت-أعمل-على-نظام-net-موزع"&gt;ما الذي سأستخلصه من هذا لو كنت أعمل على نظام .NET موزع&lt;/h2&gt;
&lt;p&gt;إذا كنت تعمل اليوم مع الخدمات الموزعة وAspire وخطوط CI/CD، فإليك ما سأستخلصه فورًا من هذا:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;توقف عن تطبيع الهشاشة في البيئات المشتركة&lt;/li&gt;
&lt;li&gt;انتقل إلى بوابات بدء قائمة على الجاهزية كلما أمكن&lt;/li&gt;
&lt;li&gt;تعامل مع AppHost بوصفه شيفرة تنسيق حقيقية على مستوى الإنتاج&lt;/li&gt;
&lt;li&gt;ابنِ فحوصات شاملة تتحقق من تركيب الخدمات، لا من صحة كل خدمة على حدة فقط&lt;/li&gt;
&lt;li&gt;إذا كنت تتبنى التطوير بمساعدة الذكاء الاصطناعي، فاستثمر في &lt;strong&gt;قابلية التحقق&lt;/strong&gt; قبل أن تطارد اتساع الأتمتة&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;هذه النقطة الأخيرة هي التي أعتقد أن على مزيد من الفرق سماعها.&lt;/p&gt;
&lt;h2 id="وجهة-نظري"&gt;وجهة نظري&lt;/h2&gt;
&lt;p&gt;هذا أحد أقوى منشورات Aspire في هذه المجموعة لأنه يحل مشكلة عملية للغاية.&lt;/p&gt;
&lt;p&gt;إنه لا يحاول إبهارك بالتجريد. بل يوضح كيف تجعل الاختبارات الشاملة أكثر تحديدًا، وأكثر فائدة، وأكثر موثوقية في نظام موزع حقيقي.&lt;/p&gt;
&lt;p&gt;ومتى ما رأيت الصلة مع التطوير بمساعدة الوكلاء، يصبح النمط أكثر إقناعًا.&lt;/p&gt;
&lt;p&gt;إذا كانت قصة الاختبارات الشاملة لديك لا تزال تعتمد على بيئات مشتركة، ومعرفة إعدادات مخفية، وقليل من الدعاء، فهذا يستحق الدراسة بجدية.&lt;/p&gt;
&lt;p&gt;المقال الأصلي: &lt;a href="https://devblogs.microsoft.com/aspire/hermetic-aspire-tests-chaos-studio/"&gt;How Azure Chaos Studio ships with hermetic Aspire end-to-end tests&lt;/a&gt;&lt;/p&gt;</content:encoded></item></channel></rss>