Python Koans هو منفذ لـ "Ruby Koans" الخاص بـ Edgecase والذي يمكن العثور عليه على http://rubykoans.com/.
Python Koans هو برنامج تعليمي تفاعلي لتعلم لغة برمجة Python من خلال اجتياز الاختبارات.
يتم إصلاح معظم الاختبارات عن طريق ملء الأجزاء المفقودة من وظائف التأكيد. على سبيل المثال:
self . assertEqual ( __ , 1 + 2 )
والتي يمكن إصلاحها عن طريق استبدال الجزء __ بالرمز المناسب:
self . assertEqual ( 3 , 1 + 2 )
في بعض الأحيان سوف تواجه بعض الاختبارات الفاشلة التي تم ملؤها بالفعل. في هذه الحالات، ستحتاج إلى الانتهاء من تنفيذ بعض التعليمات البرمجية للتقدم. على سبيل المثال، هناك تمرين لكتابة بعض التعليمات البرمجية التي ستخبرك ما إذا كان المثلث متساوي الأضلاع، أو متساوي الساقين، أو مختلف الأضلاع.
بالإضافة إلى كونها طريقة رائعة لتعلم بعض لغة Python، فهي أيضًا طريقة جيدة لتذوق التطوير المبني على الاختبار (TDD).
Python Koans متاح على GitHub:
يمكنك الاستنساخ باستخدام Git أو تنزيل المصدر بتنسيق zip/gz/bz2.
بصرف النظر عن تنزيل أو التحقق من أحدث إصدار من Python Koans، فإنك تحتاج إلى تثبيت مترجم Python.
في وقت كتابة هذا التقرير، نحن ندعم Python 3. وتتمثل السياسة في محاولة مواكبة أحدث إصدار إنتاجي.
من المفترض أن تكون قادرًا على العمل مع إصدارات بايثون الأحدث، ولكن من المحتمل أن تسبب لك الإصدارات الأقدم مشكلات.
يمكنك تحميل بايثون من هنا:
بعد تثبيت Python، تأكد من أن المجلد الذي يحتوي على ملف python القابل للتنفيذ موجود في مسار النظام. بمعنى آخر، يجب أن تكون قادرًا على تشغيل Python من وحدة تحكم الأوامر. سيكون إما python3
أو لنظام التشغيل Windows سيكون python.exe
.
إذا كانت لديك مشاكل، فقد يساعدك ذلك:
قد يرغب مستخدمو Windows أيضًا في تحديث السطر الموجود في الملف الدفعي run.bat
لتعيين مسار الثعبان:
تعيين PYTHON_PATH=C:Python39
قام Jake Hebbert بإنشاء اثنين من التسجيلات الرقمية للشاشة المتوفرة هنا:
https://www.youtube.com/watch?v=e2WXgXEjbHY&list=PL5Up_u-XkWgNcunP_UrTJG_3EXgbK2BQJ&index=1
أو إذا كنت تفضل القراءة:
من محطة *nix أو موجه أوامر Windows، قم بتشغيل:
.. كتلة الكود:: sh
بيثون contemplate_koans.py
أو:
python3 contemplate_koans.py
في حالتي، أستخدم Python 3 مع Windows، لذلك أقوم بتشغيل Command Shell (cmd.exe) وتشغيل هذا:
يبدو أن الاختبار فشل:
خطأ التأكيد: الخطأ ليس صحيحًا
ويخبرني أيضًا أين تكمن المشكلة بالضبط، فهو تأكيد في السطر 12 من .\koans\about_asserts.py
. هذا الأمر سهل، فقط قم بتغيير False
إلى True
لنجاح الاختبار.
عاجلاً أم آجلاً، من المحتمل أن تواجه اختبارات حيث لا تكون متأكدًا من القيمة المتوقعة. على سبيل المثال:
class Dog :
pass
def test_objects_are_objects ( self ):
fido = self . Dog ()
self . assertEqual ( __ , isinstance ( fido , object ))
هذا هو المكان الذي يمكن أن يكون فيه سطر أوامر Python مفيدًا. في هذه الحالة يمكنني تشغيل سطر الأوامر وإعادة إنشاء السيناريو وتشغيل الاستعلامات:
يسمح لك Sniffer بإجراء الاختبارات بشكل مستمر. إذا قمت بتعديل أي ملفات في دليل koans، فسيتم إعادة تشغيل الاختبارات.
لإعداد هذا، تحتاج إلى تثبيت sniffer:
python3 -m pip install sniffer
يجب عليك أيضًا تشغيل إحدى هذه المكتبات وفقًا لنظامك. سيؤدي هذا إلى تشغيل sniffer تلقائيًا عند تغيير ملف، وإلا سيتعين على sniffer إجراء استطلاع لمعرفة ما إذا كانت الملفات قد تغيرت.
على لينكس:
python3 -m pip install pyinotify
على نظام التشغيل Windows:
python3 -m pip install pywin32
Also available here:
https://github.com/mhammond/pywin32/releases
على نظام التشغيل MacOS:
python3 -m pip install MacFSEvents
بمجرد إعداده، ما عليك سوى تشغيل:
sniffer
ما عليك سوى تعديل أحد ملفات koans وسترى أن الاختبارات يتم تشغيلها تلقائيًا. يتم التحكم في Sniffer بواسطة scent.py
.py .
نقلا عن تعليمات روبي كوانز:
"في التطوير القائم على الاختبار، كان الشعار دائمًا هو الأحمر والأخضر وإعادة البناء. اكتب اختبارًا فاشلاً وقم بتشغيله (الأحمر)، واجتاز الاختبار (الأخضر)، ثم أعد بناءه (أي انظر إلى الكود ولاحظ ما إذا كان (يمكنك تحسينه بأي شكل من الأشكال). في هذه الحالة، ستحتاج إلى تشغيل الكوان ورؤيته يفشل (باللون الأحمر)، واجتياز الاختبار (باللون الأخضر)، ثم خذ لحظة وتأمل في الاختبار لترى ما الذي يعلمك إياه. وتحسين الكود لتوصيل هدفه (إعادة البناء) بشكل أفضل."
هناك عدد من مشاريع Koan الرائعة الأخرى المتوفرة لمختلف اللغات والأطر. يمكن العثور على معظمها في جيثب. هناك أيضًا القليل من نشاط koans على Bitbucket.
الترجمات هي موضع ترحيب دائما! لا تتردد في إضافة واحد إلى هذا الملف التمهيدي إذا كنت تعمل على واحد:
https://github.com/mswell/python_koans_br
شكرًا جزيلاً لـ Jim Weirich وJoe O'Brien على Ruby Koans الأصلية التي تعتمد عليها Python Koans! كما يستعير Ruby Koans بدوره من Metakoans لذا شكرًا أيضًا على Ara Howard على ذلك!
شكرًا أيضًا لكل من ساهم في Python Koans! لقد حصلت على انطلاقة رائعة من خلال تولي قاعدة التعليمات البرمجية التي بدأتها مجموعة Mikes من FPIP المدمجة. إذن، إليك بعض المكونات الإضافية لبودكاست بايثون الرائع الخاص بهم:
شكرًا جزيلًا أيضًا لمايك بيرنات @pirnat و Kevin Chase @kjc الذين شاركوا في الصيانة في أوقات مختلفة