“One of my most productive days was throwing away 1000 lines of code.” - Ken Thompson.

Halaman ini berisi hal-hal yang perlu diketahui dalam berkontribusi dalam Python.


DAFTAR ISI

  1. Standar dan Rekomendasi
    1. Penulisan Kode/Dokumentasi (docstring)
    2. Pengembangan (Developer)
    3. Layanan integrasi
  2. Struktur hidrokit

Standar dan Rekomendasi

Penulisan Kode/Dokumentasi (docstring)

  • Usahakan menulis se-Python mungkin (pythonic way).
  • Untuk penulisan docstring, proyek ini menggunakan format numpydoc. Baca panduan penulisannya.
  • Jika anda menggunakan Visual Studio Code, gunakan extension AutoDocstring dengan pengaturan untuk numpydoc.
  • Menggunakan standar gaya tulis (style) PEP 8. Proyek ini di periksa dengan linting autopep8 dan flake8. (Belum diintegrasikan dengan travis-ci)
  • Kualitas kode diperiksa juga menggunakan Codacy. Pemeriksaan hanya berlaku pada direktori hidrokit (direktori tests tidak dievaluasi).

Pengembangan (Developer)

  • Disarankan menggunakan conda sebagai virtual environment. Anda bisa menggunakan instalasi menggunakan environment.yml di dalam direktori proyek ini.
  • Testing menggunakan pytest.

Layanan integrasi

  • Travis-ci. Travis-ci digunakan untuk testing berdasarkan pytest dan menyampaikan informasi code coverage ke codecov dan codacy.
  • Codacy. Codacy digunakan untuk mengevaluasi kualitas kode. Ditargetkan untuk memperoleh nilai A.
  • Codecov. Codecov digunakan untuk melihat code coverage dalam proyek ini.
  • Untuk proses pull request berhasil, hasil dari travis-ci harus berhasil.

Struktur hidrokit

hidrokit@master/hidrokit
|   __init__.py
|   __version__.py
|   
+---analysis            # direktori khusus kumpulan modul data analysis
|       __init__.py
|       
+---prep                # direktori khusus kumpulan modul data preparation
|       excel.py        
|       read.py
|       timeseries.py
|       __init__.py
|           
\---viz                 # direktori khusus kumpulan modul data visualization
        graph.py
        table.py
        __init__.py

Perubahan pada direktori dimungkinkan jika diperlukan.


Masih mau baca tentang cara berkontribusi?

Dokumentasi Situs Hidrologi