أنا فخور بتقديم هذه الموارد مجانًا، ولكن إذا أردت تقديم تقدير:
- استكشاف لغة غو من خلال كتابة الاختبارات
- تعلم الأساسيات مع TDD. غو هي لغة جيدة لتعلم TDD لأنها لغة بسيطة للتعلم والاختبارات مدمجة بها
- كن واثقًا أنك ستتمكن من كتابة أنظمة قوية ومختبرة بشكل جيد باستخدام غو
- شاهد فيديو، أو اقرأ عن سبب أهمية اختبار الوحدة وTDD
- تثبيت غو - إعداد البيئة للعمل.
- مرحبًا، أيها العالم - تعريف المتغيرات والثوابت، جمل if/else، switch، كتابة أول برنامج غو وأول اختبار لك. بناء الجمل الفرعية والإغلاق.
- الأعداد الصحيحة - استكشاف مزيد من بناء جمل تعريف الدوال وتعلم طرق جديدة لتحسين توثيق الكود.
- التكرار - تعلم كيفية استخدام
for
واختبار الأداء. - المصفوفات والشرائح - تعلم عن المصفوفات والشرائح،
len
، varargs،range
وتغطية الاختبارات. - الهياكل والطرق والواجهات - تعلم عن
struct
، الطرق،interface
واختبارات الجدول. - المؤشرات والأخطاء - تعلم عن المؤشرات والأخطاء.
- الخرائط - تعلم عن تخزين القيم في هيكل بيانات الخريطة.
- حقن التبعية - تعلم عن حقن التبعية، كيفية ارتباطها باستخدام الواجهات ومقدمة عن io.
- المحاكاة - خذ بعض الكود غير المختبر واستخدم حقن التبعية مع المحاكاة لاختباره.
- التوازي - تعلم كيفية كتابة كود متوازي لجعل البرمجيات أسرع.
- اختيار - تعلم كيفية مزامنة العمليات غير المتزامنة بشكل أنيق.
- التفكير - تعلم عن التفكر.
- المزامنة - تعلم بعض الوظائف من حزمة المزامنة بما في ذلك
WaitGroup
وMutex
. - السياق - استخدم حزمة السياق لإدارة وإلغاء العمليات الطويلة.
- مقدمة للاختبارات المعتمدة على الخصائص - ممارسة بعض TDD باستخدام كاتا الأرقام الرومانية ومقدمة عن الاختبارات المعتمدة على الخصائص.
- الرياضيات - استخدام حزمة
math
لرسم ساعة بصيغة SVG. - قراءة الملفات - قراءة الملفات ومعالجتها.
- القوالب - استخدام حزمة
html/template
في غو لعرض HTML من البيانات، وتعلم أيضًا عن اختبار الموافقة. - الأنواع العامة - تعلم كيفية كتابة دوال تقبل وسائط عامة وإنشاء هيكل بيانات عام.
- إعادة زيارة المصفوفات والشرائح باستخدام الأنواع العامة - الأنواع العامة مفيدة جدًا عند العمل مع المجموعات. تعلم كيفية كتابة دالة
Reduce
الخاصة بك وتنظيف بعض الأنماط الشائعة.
الآن بعد أن تكون قد فهمت أساسيات غو، لديك فهم جيد لمعظم ميزات اللغة وكيفية القيام بـ TDD.
سيشمل هذا القسم بناء تطبيق.
كل فصل سيقوم بتطوير الفصل السابق، وتوسيع وظائف التطبيق كما يحددها مالك المنتج.
سيتم تقديم مفاهيم جديدة لتسهيل كتابة كود ممتاز، ولكن معظم المواد الجديدة ستكون تعلم ما يمكن إنجازه باستخدام مكتبة غو القياسية.
بنهاية هذا، يجب أن يكون لديك فهم قوي حول كيفية كتابة تطبيق باستخدام غو بشكل تكراري مع اختباراته.
- خادم HTTP - سنقوم بإنشاء تطبيق يستمع لطلبات HTTP ويستجيب لها.
- JSON، التوجيه والتضمين - سنجعل النقاط النهائية لدينا تعيد JSON ونستكشف كيفية إجراء التوجيه.
- إدخال/إخراج والترتيب - سنقوم بحفظ وقراءة البيانات من القرص وسنتناول ترتيب البيانات.
- سطر الأوامر وبنية المشروع - دعم تطبيقات متعددة من قاعدة كود واحدة وقراءة المدخلات من سطر الأوامر.
- الوقت - استخدام حزمة
time
لجدولة الأنشطة. - WebSockets - تعلم كيفية كتابة واختبار خادم يستخدم WebSockets.
تغطية مواضيع أخرى تتعلق بالاختبارات.
- مقدمة لاختبارات القبول - تعلم كيفية كتابة اختبارات قبول لرمزك، مع مثال واقعي لإيقاف خادم HTTP بشكل أنيق.
- توسيع اختبارات القبول - تعلم تقنيات لإدارة تعقيد كتابة اختبارات القبول للأنظمة غير التافهة.
- العمل دون المحاكاة، المحاكاة الجزئية والجواسيس - تعلم كيفية استخدام الأنماط البديلة لخلق اختبارات أكثر واقعية وصيانة.
- قائمة فحص إعادة الهيكلة - بعض النقاش حول ما هي إعادة الهيكلة، وبعض النصائح الأساسية حول كيفية القيام بها.
غالبًا ما أواجه أسئلة على الإنترنت مثل:
كيف أختبر دالتي الرائعة التي تفعل كذا وكذا؟
إذا كانت لديك مثل هذه الأسئلة، ضعها كإشكال على GitHub وسأحاول تخصيص وقت لكتابة فصل صغير لمعالجة السؤال. أعتقد أن هذا النوع من المحتوى قيم لأنه يعالج أسئلة حقيقية حول الاختبارات.
- تنفيذ أوامر OS - مثال على كيفية الوصول إلى نظام التشغيل لتنفيذ أوامر لجلب البيانات والحفاظ على منطق الأعمال قابل للاختبار.
- أنواع الأخطاء - مثال على كيفية إنشاء أنواع أخطاء خاصة بك لتحسين اختباراتك وجعل الكود أسهل في التعامل معه.
- قارئ واعي للسياق - تعلم كيفية TDD تعديل
io.Reader
مع الإلغاء.
- لماذا اختبارات الوحدة وكيف تجعلها تعمل من أجلك - شاهد فيديو أو اقرأ عن سبب أهمية اختبار الوحدة وTDD.
- الأمثلة السيئة - فصل قصير حول الأمثلة السيئة في TDD واختبارات الوحدة.
- هذا المشروع قيد التطوير إذا كنت ترغب في المساهمة، يرجى التواصل.
- اقرأ contributing.md للإرشادات.
- هل لديك أفكار؟ أنشئ إشكالًا.
لدي بعض الخبرة في تقديم غو للفرق التطويرية وجربت طرقًا مختلفة لتطوير الفريق من مجموعة من المهتمين بغو إلى كُتاب فعالين للأنظمة باستخدام غو.
كانت إحدى الطرق التي جربناها هي أخذ الكتاب الأزرق ومناقشة الفصل التالي كل أسبوع مع التمارين.
أحب هذا الكتاب لكنه يتطلب مستوى عاليًا من الالتزام.