Skip to content

1. ليه

TeamOS

لما فريق كامل يبني بالإيجنتس، الذاكرة بتاعة مين؟

مهندس واحد مع إيجنت هو محادثة. وخمسة مهندسين مع خمس إيجنتس هو خمس محادثات عمرها ما تتقابل. وTeamOS بيدي الفريق مخ واحد مشترك، متحفظ جوه الكود نفسه، ومجموعة قواعد واحدة كل إيجنت بيتبعها.

2. كبر فين

بدأت قبل هاكاثون.

أول مرة بنيته كان عشان أجهّز فريق لهاكاثون. قبل ما الساعة تبدأ، كنت عايز إيجنت كل واحد في الفريق يعرف إزاي بنشتغل، واللي اتفقنا عليه، والحاجات اللي محدش مسموح له يكسرها، من قبل ما نبدأ.

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

  1. هاكاثون

    تعريف وقواعد، قبل ما الساعة تبدأ.

    1
  2. مشروع تاني

    2
  3. مشروع تالت

    3
  4. الفريق اللي بقوده

    نظام التشغيل كله.

    4
  5. بعد كده: مفتوح المصدر، وجوّه Keel.

أربع أماكن، وفكرة واحدة بتزيد صرامة.

3. بيفكر إزاي

القانون، والحقيقة، والسجل.

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

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

جلسة بتتبع

القواعد: القانون

جلسة بتستشهد

المعرفة: منقّاة، وبمصادر

مراجعة حد

جلسة بتسيب

الدليل: السجل الخام

مفيش حاجة بتطلع للمعرفة من غير مراجعة حد.

4. الدليل

الفرق مش دليل.

الإيجنتس واثقة من نفسها. فعشان كده كل ادّعاء في TeamOS شايل لافتة: اتأكد دلوقتي، أو متسجّل قبل كده، أو مش معروف، أو محتاج يتشغّل تاني. والمسودة مش حقيقة. والتغيير مش دليل إنه شغال.

اختبارات الدفع بتنجح.

اتأكد دلوقتي

اخترنا داتابيز واحدة لكل حاجة.

متسجّل

التصدير بيشتغل على الملفات الكبيرة.

مش معروف

البحث سريع كفاية.

شغّله تاني
ادّعاءات أمثلة، للتوضيح.

لما سجلين يتخالفوا، الاتنين بيتحفظوا ويتربطوا، والأقدم بيتعلّم عليه إنه مستبدل. ومحدش بيمسح تاريخ غلطة في الهدوء.

الجلسات بتعيش يوم واحد.

مستبدل

الجلسات بتعيش سبعة أيام.

السجل القديم بيفضل، متعلّم عليه ومربوط.

5. التسليمات

تسليم ينفع تعيد البناء منه.

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

الفرع

آخر تغيير

الملفات

التسليم بيقول

الكود بيقول

اتنين متطابقين، وواحد لأ: اعتبر اللي بيعتمد عليه مش معروف.

مش معروف

6. الأسوار

أربع إيجنتس، وكود واحد، ومن غير تصادم.

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

مهمة أ: إتمام الشراء

مهمة ب: الإيميلات

محمي: محدش يلمسه

الحارس: وقّف تغيير
برّه السور

المراجعين:
قراءة بس

اسحب تشوف الرسمة كلها ←

كل مهمة ماسكة أرضها. رسمة، مش كود حقيقي.

7. الفكرة

الفرق الكويسة ما ماشيةش على إن كل واحد يفتكر القواعد. هي ماشية على قواعد بتفتكر نفسها.

فرض، مش انضباط. دي الفكرة كلها.

8. بعد كده

الآلية بتسافر. والمحتوى بيفضل.

اللي بيخلي TeamOS يشتغل، محرّك القواعد، والفحوصات، والتسليمات، مش مربوط بكود واحد. بيتنقل من مشروع للتاني. واللي بيفضل ورا هو بتاعك: قواعد فريقك ومعرفة فريقك. وهعمله مفتوح المصدر، وهيعيش جوه Keel.

الآلية

محرّك القواعد، والفحوصات، والتسليمات

المحتوى

قواعدك، ومعرفتك

تفضل مع فريقك

تمشي معاك

إنت في الاستوديو: TeamOS

اللي بعده في الاستوديو: Plinth

بيئة الإيجنت فيها بيقترح والمهندس هو اللي بيقرر، في كل خطوة.

اللي قبله: Keel