Traffine I/O

Bahasa Indonesia

2023-03-31

Cookiecutter untuk Pengembangan yang Efisien

Apa itu Cookiecutter

Cookiecutter adalah alat baris perintah yang serbaguna yang memungkinkan pengembang untuk membuat proyek dari templat yang telah ditentukan sebelumnya. Dengan Cookiecutter, Anda dapat dengan cepat dan mudah menghasilkan struktur proyek berdasarkan templat yang dapat disesuaikan, sehingga menghemat waktu dan usaha dalam mengatur kerangka dasar untuk proyek Anda. Ini ditulis dalam Python dan tersedia di bawah lisensi BSD sumber terbuka, sehingga dapat diakses oleh pengembang di berbagai platform.

Manfaat Cookiecutter

Ada beberapa manfaat dalam menggunakan Cookiecutter dalam alur kerja pengembangan Anda:

  • Kecepatan
    Dengan menggunakan templat Cookiecutter, Anda dapat dengan cepat menghasilkan struktur proyek, sehingga dapat fokus pada menulis kode dan mengimplementasikan fitur.

  • Konsistensi
    Templat Cookiecutter membantu memastikan bahwa proyek Anda mengikuti struktur dan tata letak yang konsisten, sehingga memudahkan navigasi dan pemeliharaan kode Anda.

  • Best Practices
    Banyak templat dibuat oleh pengembang berpengalaman yang menggabungkan praktik terbaik industri, yang dapat membantu meningkatkan kualitas kode Anda sendiri.

  • Customizability
    Templat Cookiecutter dapat dengan mudah disesuaikan dan diperluas untuk memenuhi persyaratan spesifik Anda.

  • Kolaborasi
    Dengan menggunakan templat bersama, tim dapat memastikan bahwa semua anggota mengikuti struktur proyek yang sama, yang dapat memfasilitasi kolaborasi dan komunikasi yang lebih baik.

Cara Menggunakan Cookiecutter

Untuk memulai dengan Cookiecutter, ikuti langkah-langkah berikut:

  1. Instal Cookiecutter menggunakan pip:
bash
$ pip install cookiecutter
  1. Pilih templat dari repositori Cookiecutter atau buat milikmu sendiri.

  2. Hasilkan proyek baru menggunakan templat yang dipilih dengan menjalankan perintah berikut:

bash
$ cookiecutter https://github.com/username/repo-name.git

Ganti URL dengan jalur ke repositori templat.

Misalnya, jika Anda ingin menggunakan cookiecutter-pypackage, jalankan perintah berikut:

bash
$ cookiecutter https://github.com/audreyr/cookiecutter-pypackage

full_name [Audrey Roy Greenfeld]:
email [aroy@alum.mit.edu]:
github_username [audreyr]:
project_name [Python Boilerplate]:
project_slug [python_boilerplate]:
project_short_description [Python Boilerplate contains all the boilerplate you need to create a Python package.]:
pypi_username [audreyr]:
version [0.1.0]:
use_pytest [n]:
use_pypi_deployment_with_travis [y]:
Select command_line_interface:
1 - Click
2 - No command-line interface
Choose from 1, 2 [1]:
create_author_file [y]:
Select open_source_license:
1 - MIT license
2 - BSD license
3 - ISC license
4 - Apache Software License 2.0
5 - GNU General Public License v3
6 - Not open source
Choose from 1, 2, 3, 4, 5, 6 [1]:

Menjawab pertanyaan interaktif akan membuat proyek sebagai berikut:

python_boilerplate
├── AUTHORS.rst
├── CONTRIBUTING.rst
├── HISTORY.rst
├── LICENSE
├── MANIFEST.in
├── Makefile
├── README.rst
├── docs
│   ├── Makefile
│   ├── authors.rst
│   ├── conf.py
│   ├── contributing.rst
│   ├── history.rst
│   ├── index.rst
│   ├── installation.rst
│   ├── make.bat
│   ├── readme.rst
│   └── usage.rst
├── python_boilerplate
│   ├── __init__.py
│   └── python_boilerplate.py
├── requirements_dev.txt
├── setup.cfg
├── setup.py
├── tests
│   ├── __init__.py
│   └── test_python_boilerplate.py
├── tox.ini
└── travis_pypi_setup.py

Menjelajahi Templat Cookiecutter Populer

Ada banyak templat Cookiecutter yang tersedia untuk berbagai bahasa pemrograman, kerangka kerja, dan tujuan. Di sini, kita akan menjelajahi dua templat populer:

Cookiecutter FastAPI

https://github.com/arthurhenrique/cookiecutter-fastapi

Templat ini dirancang untuk membangun aplikasi web menggunakan kerangka kerja FastAPI.

Cookiecutter Data Science

https://github.com/drivendata/cookiecutter-data-science

Templat Cookiecutter Data Science dibuat khusus untuk proyek sains data, menggabungkan struktur standar untuk mengorganisir kode, data, dan analisis Anda. Ini mencakup dukungan untuk notebook Jupyter, versioning data, dan penelitian yang dapat direproduksi.

Menyesuaikan Templat Cookiecutter

Anda dapat menyesuaikan templat yang ada dengan mengkloning repositori dan membuat modifikasi pada berkas templat. Ini memungkinkan Anda untuk menyesuaikan templat sesuai dengan kebutuhan dan preferensi spesifik Anda.

Membuat Templat Cookiecutter Anda Sendiri

Jika Anda tidak dapat menemukan templat yang cocok atau ingin membuat templat khusus untuk kasus penggunaan Anda, ikuti langkah-langkah ini:

  1. Buat direktori baru dengan nama templat yang diinginkan.
  2. Tambahkan berkas cookiecutter.json, yang akan menyimpan konfigurasi templat Anda, termasuk nilai default untuk variabel.
  3. Buat berkas dan direktori templat Anda, menggunakan sintaks Jinja2 untuk menyertakan variabel dan struktur kontrol.
  4. Uji templat Anda dengan menjalankan perintah cookiecutter dengan jalur direktori lokal:
bash
$ cookiecutter path/to/your/template

Referensi

https://cookiecutter.readthedocs.io/en/stable/
https://github.com/cookiecutter/cookiecutter
https://cookiecutter.readthedocs.io/en/1.7.2/installation.html
https://training.talkpython.fm/courses/explore_cookiecutter_course/using-and-mastering-cookiecutter-templates-for-project-creation

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!