<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>مواضيع أخرى on تعلّم Go بالاختبارات</title><link>https://zeyadsleem.github.io/learn-go-with-tests-ar/docs/meta/</link><description>Recent content in مواضيع أخرى on تعلّم Go بالاختبارات</description><generator>Hugo</generator><language>ar</language><atom:link href="https://zeyadsleem.github.io/learn-go-with-tests-ar/docs/meta/index.xml" rel="self" type="application/rss+xml"/><item><title>لماذا اختبارات الوحدة وكيف تجعلها تعمل لصالحك</title><link>https://zeyadsleem.github.io/learn-go-with-tests-ar/docs/meta/why/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://zeyadsleem.github.io/learn-go-with-tests-ar/docs/meta/why/</guid><description>&lt;h1 id="لماذا-اختبارات-الوحدة-وكيف-تجعلها-تعمل-لصالحك"&gt;لماذا اختبارات الوحدة وكيف تجعلها تعمل لصالحك&lt;a class="anchor" href="#%d9%84%d9%85%d8%a7%d8%b0%d8%a7-%d8%a7%d8%ae%d8%aa%d8%a8%d8%a7%d8%b1%d8%a7%d8%aa-%d8%a7%d9%84%d9%88%d8%ad%d8%af%d8%a9-%d9%88%d9%83%d9%8a%d9%81-%d8%aa%d8%ac%d8%b9%d9%84%d9%87%d8%a7-%d8%aa%d8%b9%d9%85%d9%84-%d9%84%d8%b5%d8%a7%d9%84%d8%ad%d9%83"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=Kwtit8ZEK7U"&gt;إليك رابطًا لفيديو أتحدث فيه عن هذا الموضوع&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;وإذا لم تكن من محبي الفيديو، فإليك نسخة مكتوبة ومطوّلة عن الموضوع.&lt;/p&gt;&#10;&lt;h2 id="البرمجيات"&gt;البرمجيات&lt;a class="anchor" href="#%d8%a7%d9%84%d8%a8%d8%b1%d9%85%d8%ac%d9%8a%d8%a7%d8%aa"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;وعد البرمجيات هو أنها قابلة للتغيير. ولهذا تُسمى &lt;em&gt;soft&lt;/em&gt; ware؛ فهي طيّعة مقارنة بالعتاد (hardware). وينبغي أن يكون فريق الهندسة العظيم أصلًا مذهلًا للشركة، إذ يكتب أنظمة تستطيع أن تتطور مع الأعمال لتواصل تقديم القيمة.&lt;/p&gt;&#10;&lt;p&gt;فلماذا نحن بهذا السوء في ذلك؟ كم مشروعًا تسمع عنه يفشل فشلًا تامًا؟ أو يصبح &amp;ldquo;قديمًا&amp;rdquo; (legacy) ولا بد من إعادة كتابته بالكامل (وكثيرًا ما تفشل إعادة الكتابة أيضًا!)&lt;/p&gt;</description></item><item><title>الأنماط المضادة (Anti-patterns)</title><link>https://zeyadsleem.github.io/learn-go-with-tests-ar/docs/meta/anti-patterns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://zeyadsleem.github.io/learn-go-with-tests-ar/docs/meta/anti-patterns/</guid><description>&lt;h1 id="الأنماط-المضادة-anti-patterns"&gt;الأنماط المضادة (Anti-patterns)&lt;a class="anchor" href="#%d8%a7%d9%84%d8%a3%d9%86%d9%85%d8%a7%d8%b7-%d8%a7%d9%84%d9%85%d8%b6%d8%a7%d8%af%d8%a9-anti-patterns"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;من وقت لآخر، تحتاج إلى مراجعة تقنياتك في التطوير الموجه بالاختبار (TDD) وتذكير نفسك بالسلوكيات التي ينبغي تجنبها.&lt;/p&gt;&#10;&lt;p&gt;عملية TDD بسيطة من حيث المفهوم، لكنك ستجدها وأنت تمارسها تتحدى مهاراتك في التصميم. &lt;strong&gt;لا تظن أن هذا يعني أن TDD صعب، فالصعب هو التصميم!&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;يسرد هذا الفصل عددًا من الأنماط المضادة في TDD والاختبار، وكيفية علاجها.&lt;/p&gt;&#10;&lt;h2 id="عدم-ممارسة-tdd-إطلاقا"&gt;عدم ممارسة TDD إطلاقًا&lt;a class="anchor" href="#%d8%b9%d8%af%d9%85-%d9%85%d9%85%d8%a7%d8%b1%d8%b3%d8%a9-tdd-%d8%a5%d8%b7%d9%84%d8%a7%d9%82%d8%a7"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;بالطبع، من الممكن كتابة برمجيات رائعة دون TDD، لكن كثيرًا من المشكلات التي رأيتها في تصميم الكود وجودة الاختبارات كان سيكون من الصعب جدًا الوصول إليها لو اتُّبع نهج منضبط في TDD.&lt;/p&gt;</description></item><item><title>المساهمة</title><link>https://zeyadsleem.github.io/learn-go-with-tests-ar/docs/meta/contributing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://zeyadsleem.github.io/learn-go-with-tests-ar/docs/meta/contributing/</guid><description>&lt;h1 id="المساهمة"&gt;المساهمة&lt;a class="anchor" href="#%d8%a7%d9%84%d9%85%d8%b3%d8%a7%d9%87%d9%85%d8%a9"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;المساهمات مرحّب بها جدًا. وآمل أن يصبح هذا بيتًا رائعًا لأدلة تعلّم Go عبر كتابة الاختبارات. فكّر في إرسال PR أو إنشاء issue، ويمكنك فعل ذلك &lt;a href="https://github.com/quii/learn-go-with-tests/issues"&gt;من هنا&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="ما-نبحث-عنه"&gt;ما نبحث عنه&lt;a class="anchor" href="#%d9%85%d8%a7-%d9%86%d8%a8%d8%ad%d8%ab-%d8%b9%d9%86%d9%87"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;تعليم ميزات Go (مثل أشياء كهذه: &lt;code&gt;if&lt;/code&gt; و&lt;code&gt;select&lt;/code&gt; والـ structs والـ methods وغيرها).&lt;/li&gt;&#10;&lt;li&gt;عرض وظائف مثيرة للاهتمام داخل المكتبة القياسية. وإظهار كم هو سهل اتباع TDD لخادم HTTP مثلًا.&lt;/li&gt;&#10;&lt;li&gt;إظهار كيف يمكن لأدوات Go، مثل قياس الأداء وكاشفات التسابق (race detectors) وغيرها، أن تساعدك في الوصول إلى برمجيات رائعة.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;وإذا لم تكن واثقًا من قدرتك على تقديم دليلك الخاص، فإن إنشاء issue لشيء تريد تعلّمه يظل مساهمة قيّمة.&lt;/p&gt;</description></item><item><title>قالب الفصل</title><link>https://zeyadsleem.github.io/learn-go-with-tests-ar/docs/meta/template/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://zeyadsleem.github.io/learn-go-with-tests-ar/docs/meta/template/</guid><description>&lt;h1 id="قالب-الفصل"&gt;قالب الفصل&lt;a class="anchor" href="#%d9%82%d8%a7%d9%84%d8%a8-%d8%a7%d9%84%d9%81%d8%b5%d9%84"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;مقدمة موجزة&lt;/p&gt;&#10;&lt;h2 id="اكتب-الاختبار-أولا"&gt;اكتب الاختبار أولًا&lt;a class="anchor" href="#%d8%a7%d9%83%d8%aa%d8%a8-%d8%a7%d9%84%d8%a7%d8%ae%d8%aa%d8%a8%d8%a7%d8%b1-%d8%a3%d9%88%d9%84%d8%a7"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;h2 id="جرب-تشغيل-الاختبار"&gt;جرّب تشغيل الاختبار&lt;a class="anchor" href="#%d8%ac%d8%b1%d8%a8-%d8%aa%d8%b4%d8%ba%d9%8a%d9%84-%d8%a7%d9%84%d8%a7%d8%ae%d8%aa%d8%a8%d8%a7%d8%b1"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;h2 id="اكتب-أصغر-قدر-من-الكود-ليعمل-الاختبار-وافحص-مخرجاته-الفاشلة"&gt;اكتب أصغر قدر من الكود ليعمل الاختبار وافحص مخرجاته الفاشلة&lt;a class="anchor" href="#%d8%a7%d9%83%d8%aa%d8%a8-%d8%a3%d8%b5%d8%ba%d8%b1-%d9%82%d8%af%d8%b1-%d9%85%d9%86-%d8%a7%d9%84%d9%83%d9%88%d8%af-%d9%84%d9%8a%d8%b9%d9%85%d9%84-%d8%a7%d9%84%d8%a7%d8%ae%d8%aa%d8%a8%d8%a7%d8%b1-%d9%88%d8%a7%d9%81%d8%ad%d8%b5-%d9%85%d8%ae%d8%b1%d8%ac%d8%a7%d8%aa%d9%87-%d8%a7%d9%84%d9%81%d8%a7%d8%b4%d9%84%d8%a9"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;h2 id="اكتب-كودا-كافيا-لنجاح-الاختبار"&gt;اكتب كودًا كافيًا لنجاح الاختبار&lt;a class="anchor" href="#%d8%a7%d9%83%d8%aa%d8%a8-%d9%83%d9%88%d8%af%d8%a7-%d9%83%d8%a7%d9%81%d9%8a%d8%a7-%d9%84%d9%86%d8%ac%d8%a7%d8%ad-%d8%a7%d9%84%d8%a7%d8%ae%d8%aa%d8%a8%d8%a7%d8%b1"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;h2 id="إعادة-الهيكلة"&gt;إعادة الهيكلة&lt;a class="anchor" href="#%d8%a5%d8%b9%d8%a7%d8%af%d8%a9-%d8%a7%d9%84%d9%87%d9%8a%d9%83%d9%84%d8%a9"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;h2 id="كرر-مع-متطلبات-جديدة"&gt;كرّر مع متطلبات جديدة&lt;a class="anchor" href="#%d9%83%d8%b1%d8%b1-%d9%85%d8%b9-%d9%85%d8%aa%d8%b7%d9%84%d8%a8%d8%a7%d8%aa-%d8%ac%d8%af%d9%8a%d8%af%d8%a9"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;h2 id="الخلاصة"&gt;الخلاصة&lt;a class="anchor" href="#%d8%a7%d9%84%d8%ae%d9%84%d8%a7%d8%b5%d8%a9"&gt;&lt;/a&gt;&lt;/h2&gt;</description></item></channel></rss>