Kami sangat senang Anda telah ikut berkontribusi dalam implementasi algoritma, struktur data, atau memperbaiki error. Semua boleh ikut berkontribusi walaupun hal kecil dengan pengecualian sebagai berikut:
- Hasil pekerjaan kamu adalah buatan kamu sendiri dan tidak ada hak cipta dari orang lain
- Jika kami menemukan kesamaan maka kami tidak
merged
.
- Jika kami menemukan kesamaan maka kami tidak
- Hasil kerja kamu akan berlisensi MIT ketika permintaan pull kamu sudah di-merged
- Hasil kerja kamu wajib mengikuti standard dan style koding dari kami
- Penggunaan nama file yang bersifat camelCase dan berlaku juga untuk variabel dan identifier
- Menggunakan output
console.log()
Dalam repositori TypeScript, kami menggunakan standarisasi folder di bawah ini:
root
| Category1
| Subcategory1
| SubCategory1.ts
| SubCategory1.test.ts
| README.md
| Subcategory2
| SubCategory2.ts
| SubCategory2.test.ts
| Index.ts
| README.md
| Category2
| Subcategory1
| SubCategory1.ts
| SubCategory1.test.ts
| Index.ts
| README.md
| Executor
| Beberapa.ts
| Fungsi.ts
| DiSini.ts
| Subcategory2
Adapun beberapa aturan untuk skema folder yang kami buat untuk menjaga kualitas kode dan teroganisasinya kode yaitu:
- Setiap folder wajib menyediakan Unit Test seperti pada contoh di atas.
- Setiap folder wajib menyediakan README untuk menjelaskan secara rinci mengenai kode tersebut.
- Apabila anda ingin memberikan contoh cara mengeksekusi kode yang anda jelaskan, anda dapat membuat Index.ts sebagai deploy point dari kode anda.
Kami menggunakan Jest dan ESLint untuk menjaga bahwa kode yang ditulis di dalam repositori ini dapat dijalankan dengan baik dan juga kode tersebut dapat dibaca dengan mudah oleh banyak orang.
Anda dapat menggunakan npm test
untuk menggunakan Jest, npm run lint
untuk menggunakan ESLint, ataupun npm run tl
yang merupakan shorthand dari Jest dan ESLint.
Sedikit catatan, sebaiknya kalian mengecek apakah kode anda lolos dari Unit Test dan Linter agar Pull Request anda nantinya tidak ditolak oleh Github Actions.
Untuk gaya penulisan dari repositori ini, kami menggunakan TypeScript Eslint dengan beberapa modifikasi yang dapat kalian lihat aturannya di sini.
- Lakukan fork pada repositori kami
- Setelah melakukan fork, kamu dibebaskan untuk mengubah atau menambah algoritma
- Untuk pull request mengubah, diusahakan kamu menerapkan algoritma yang lebih baik dan lebih mudah
- Setelah mengubah, menambah, atau memperbaiki dokumentasi, usahakan kamu membuat branch baru
git checkout -b <branch_name>
git add .
git commit -m "add: menambahkan algoritma baru"
- Lakukan push ke branch kamu, kemudian open pull request
add
untuk menambah algoritma atau tambahan lainnyafix
untuk mengubah algoritma yang sudah ada atau memperbaikidocs
untuk mengubah atau membuat dokumentasistyle
untuk mengubah atau memperbaiki style kode untuk contohnya bisa dilihat pada commit yang di atas
pull request merged
jika:
- Mengikuti standar dan arahan dari
CONTRIBUTING.md
- Lulus tes dari Github Action yang berjalan otomatis
- Jika ada kendala atau masalah dalam pull request, kamu bisa laporkan masalah pada issue
- Jika ada tes yang tidak lewat atau gagal, kami akan mengecek kembali perubahan.
Untuk pull request, kami sarankan untuk menjelaskan secara detail yang kamu ubah atau tambahkan, dan bersikap sopan, serta selalu berterima kasih, itu salah satu bentuk tata krama yang baik terhadap sesama contributor dan programmer lainnya. Terima kasih sudah berkontribusi di Typescript