تعلم Go مع الاختبارات

تعلم Go مع الاختبارات

ادعمني

أنا فخور بتقديم هذ المصدر مجانًا، ولكن إذا كنت ترغب في التقدير

تعلم تطوير البرمجيات بنمط TDD باستخدام Go

  • استكشاف لغة Go من خلال كتابة الاختبارات
  • احصل على أساسيات التطوير بنمط TDD.لغة Go هي لغة جيدة لتعلم TDD لأنها لغة بسيطة للتعلم والاختبارات مدمجة فيها
  • كن واثقًا من أنك ستكون قادرًا على بدء كتابة أنظمة قوية ومختبرة بشكل جيد باستخدام Go

TDD هي اختصار لـ test-driven development البرمجة القائمة او المعتمدة على الاختبارات بحيث يكتب الاختبار اولا ومن ثم يتم كتابة الكود

من انا

لدي بعض الخبرة في تقديم Go لفرق التطوير وقد جربت مقاربات مختلفة بخصوص كيفية تطوير فريق من الأشخاص المهتمين بـ Go إلى مبرمجين متميزين لأنظمة Go.

ما لم ينفع

قراءة الكتاب

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

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

وجدت أنه في حين قرأ عدد قليل من الأشخاص الفصل X وقاموا بالتمارين، لم يقرأ العديد من الأشخاص.

حل بعض المشاكل

التحديات ممتعة لكنها غالبًا ما تكون محدودة في نطاقها لتعلم لغة برمجة؛ من غير المرجح أن تستخدم goroutines لحل تحدي ما.

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

ينتج عن ذلك جعل تعلم اللغة يبدو غير منظم وعشوائيًا نوعًا ما.

ما الذي نفع

بشكل عام، الطريقة الأكثر فعالية كانت من خلال التدرج بتقديم أساسيات اللغة من خلال قراءة go by example، واستكشافها من خلال الأمثلة ومناقشتها كفريق. كان هذا أكثر تفاعلًا من “اقرأ الفصل x كواجب منزلي”.

مع مرور الوقت، اكتسب الفريق أساسًا راسخًا في قواعد اللغة لذلك بدأنا ببناء الأنظمة.

يبدو لي هذا مشابهًا لممارسة المقامات عند محاولة تعلم العزف على الجيتار.

لا يهم مدى حسك الفني، من غير المرجح أن تكتب موسيقى جيدة دون فهم الأساسيات وممارسة الآليات.

ما الذي نفعني انا

عندما أتعلم لغة برمجة جديدة، غالبًا ما أبدأ بالتلاعب في بعض مميزاتها وعلى ما هي قادرة على فعله ولكن في النهاية، أحتاج إلى ما هو اكثر من ذلك.

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

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

لمن هذا الكتاب

  • الأشخاص الذين يرغبون في تعلم Go
  • الأشخاص الذين يعرفون بعضًا من Go بالفعل، ولكنهم يرغبون في استكشاف الاختبارات بشكل أكبر

ما ستحتاج إليه

  • حاسوب!
  • Go مُثبت على جهازك
  • محرر نصوص
  • بعض الخبرة في البرمجة. فهم المفاهيم مثل if، المتغيرات، الدوال، إلخ.
  • الراحة في استخدام الطرفية

ردود الفعل

رخصة MIT