Python Koans adalah port "Ruby Koans" Edgecase yang dapat ditemukan di http://rubykoans.com/.
Python Koans adalah tutorial interaktif untuk mempelajari bahasa pemrograman Python dengan membuat tes lulus.
Sebagian besar pengujian diperbaiki dengan mengisi bagian fungsi penegasan yang hilang. Misalnya:
self . assertEqual ( __ , 1 + 2 )
yang dapat diperbaiki dengan mengganti bagian __ dengan kode yang sesuai:
self . assertEqual ( 3 , 1 + 2 )
Kadang-kadang Anda akan menemukan beberapa tes gagal yang sudah diisi. Dalam kasus ini, Anda harus menyelesaikan penerapan beberapa kode agar dapat maju. Misalnya, ada latihan untuk menulis beberapa kode yang akan memberi tahu Anda apakah sebuah segitiga sama sisi, sama kaki, atau tak sama panjang.
Selain merupakan cara yang bagus untuk mempelajari beberapa Python, ini juga merupakan cara yang baik untuk merasakan Test Driven Development (TDD).
Python Koans tersedia di GitHub:
Anda dapat mengkloning dengan Git atau mengunduh sumbernya sebagai zip/gz/bz2.
Selain mengunduh atau memeriksa versi terbaru Python Koans, Anda perlu menginstal juru bahasa Python.
Pada saat penulisan ini, kami mendukung Python 3. Kebijakannya adalah mencoba mengikuti versi produksi terbaru.
Anda seharusnya dapat bekerja dengan versi Python yang lebih baru, tetapi versi yang lebih lama kemungkinan besar akan menimbulkan masalah.
Anda dapat mengunduh Python dari sini:
Setelah menginstal Python pastikan folder yang berisi executable python ada di jalur sistem. Dengan kata lain, Anda harus bisa menjalankan Python dari konsol perintah. Entah itu python3
atau untuk Windows python.exe
.
Jika Anda mempunyai masalah, ini mungkin membantu:
Pengguna Windows mungkin juga ingin memperbarui baris dalam file batch run.bat
untuk mengatur jalur python:
SETEL PYTHON_PATH=C:Python39
Jake Hebbert telah membuat beberapa screencast yang tersedia di sini:
https://www.youtube.com/watch?v=e2WXgXEjbHY&list=PL5Up_u-XkWgNcunP_UrTJG_3EXgbK2BQJ&index=1
Atau jika Anda lebih suka membaca:
Dari terminal *nix atau prompt perintah Windows, jalankan:
.. blok kode :: sh
python contemplate_koans.py
atau:
python3 contemplate_koans.py
Dalam kasus saya, saya menggunakan Python 3 dengan Windows, jadi saya jalankan shell perintah saya (cmd.exe) dan jalankan ini:
Rupanya tes gagal:
AssertionError: Salah tidak Benar
Ini juga memberi tahu saya di mana tepatnya masalahnya, ini adalah pernyataan pada baris 12 dari .\koans\about_asserts.py
. Yang ini mudah, cukup ubah False
menjadi True
agar tesnya lulus.
Cepat atau lambat Anda mungkin akan menghadapi tes di mana Anda tidak yakin berapa nilai yang diharapkan. Misalnya:
class Dog :
pass
def test_objects_are_objects ( self ):
fido = self . Dog ()
self . assertEqual ( __ , isinstance ( fido , object ))
Di sinilah Baris Perintah Python bisa berguna. Dalam hal ini saya dapat menjalankan baris perintah, membuat ulang skenario dan menjalankan kueri:
Sniffer memungkinkan Anda menjalankan pengujian secara terus menerus. Jika Anda mengubah file apa pun di direktori koans, pengujian akan dijalankan ulang.
Untuk mengaturnya, Anda perlu menginstal sniffer:
python3 -m pip install sniffer
Anda juga harus menjalankan salah satu perpustakaan ini tergantung pada sistem Anda. Ini secara otomatis akan memicu sniffer ketika file berubah, jika tidak, sniffer harus melakukan polling untuk melihat apakah file telah berubah.
Di Linux:
python3 -m pip install pyinotify
Di Windows:
python3 -m pip install pywin32
Also available here:
https://github.com/mhammond/pywin32/releases
Di macOS:
python3 -m pip install MacFSEvents
Setelah sudah diatur, Anda tinggal menjalankan:
sniffer
Cukup modifikasi salah satu file koans dan Anda akan melihat bahwa pengujian dipicu secara otomatis. Sniffer dikendalikan oleh scent.py
.
Mengutip instruksi Ruby Koans:
"Dalam pengembangan yang digerakkan oleh pengujian, mantranya selalu, merah, hijau, refactor. Tulis tes yang gagal dan jalankan (merah), buat tes tersebut lulus (hijau), lalu refactor (yaitu lihat kodenya dan lihat apakah Anda dapat membuatnya lebih baik). Dalam hal ini Anda perlu menjalankan koan dan melihatnya gagal (merah), lulus tes (hijau), kemudian luangkan waktu sejenak dan renungkan tes tersebut untuk melihat apa yang diajarkannya kepada Anda. dan meningkatkan kode untuk mengkomunikasikan maksudnya dengan lebih baik (refactor)."
Ada sejumlah proyek Koan hebat lainnya di luar sana untuk berbagai bahasa dan kerangka kerja. Kebanyakan dari mereka dapat ditemukan di GitHub. Juga ada sedikit aktivitas koans di Bitbucket.
Terjemahan selalu diterima! Jangan ragu untuk menambahkan satu ke README ini jika Anda sedang mengerjakannya:
https://github.com/mswell/python_koans_br
Terima kasih kepada Jim Weirich dan Joe O'Brien untuk Ruby Koans asli yang menjadi dasar Python Koans! Juga Ruby Koans pada gilirannya meminjam dari Metakoans jadi terima kasih juga kepada Ara Howard untuk itu!
Juga terima kasih kepada semua orang yang telah berkontribusi pada Python Koans! Saya mendapat kemajuan besar dengan mengambil alih basis kode yang diprakarsai oleh gabungan Mikes dari FPIP. Jadi, inilah sedikit masukan untuk podcast Python mereka yang sangat keren:
Terima kasih yang sebesar-besarnya juga kepada Mike Pirnat @pirnat dan Kevin Chase @kjc yang telah berpartisipasi sebagai co-maintainer di berbagai waktu