Terima kasih atas minat anda untuk berkontribusi dalam pengembangan repositori CPP di Bellshade. Di sini, semua orang boleh berkontribusi sesuai dengan kapasitasnya dengan persyaratan sebagai berikut:
- Seluruh hasil perkerjaan dibuat secara pribadi. Tidak ada toleransi untuk pelanggaran hak cipta dan plagiarisme
- Seluruh hasil kontribusi yang berhasil di
merged
ke dalam repositori CPP Bellshade berlisensi MIT. - Penulisan kode mengikuti standar dan tata cara penulisan yang telah ditentukan
- Dilarang menggunakan library eksternal kecuali jika sangat diperlukan dan telah didiskusikan pada issue.
Bellshade CPP adalah repositori algoritma yang diimplementasikan menggunakan bahasa C++. Bellshade CPP merupakan bagian dari project Bellshade yang dipelopori oleh para admin komunitas discord Web Programming Unpas. Bellshade CPP bertujuan memperkenalkan berbagai algoritma komputer dalam bahasa indonesia yang singkat, padat, dan mudah dimengerti.
Dalam ilmu komputer, algoritma dapat didefinisikan sebagai seperangkat perintah terdefinisi yang berfungsi untuk mencapai suatu pekerjaan. Umumnya, perintah dibuat sedemikian rupa agar pekerjaan dapat dilakukan secara efektif dan efisien.
Secara umum, kontribusi yang dilakukan dapat berupa penambahan algoritma dan perbaikan/perubahan kode.
Berikut adalah langkah - langkah yang perlu dilakukan untuk menambahkan algoritma:
- Memeriksa pinned issue untuk mendapatkan informasi mengenai daftar algoritma yang akan diimplementasi
- Memberikan comment pada issue yang terkait bahwa kalian akan membuat algoritma tersebut
- Fork repositori
bellshade/CPP
ke akun pribadi kalianuserkalian/CPP
- Membuat kode sesuai dengan persyaratan dan tata cara yang sesuai
- Melakukan
Pull Request
padabranch
yang telah disediakan sesuai dengan issue yang dikerjakan dan sertakanlink
issue pada judulPull Request
- Lakukan revisi sesuai dengan review yang diberikan oleh maintainer
- Apabila
Pull Request
dinilai telah memenuhi persyaratan, makaPull Requst
akan dimerged
dan proses kontribusi selesai.
Perbaikan atau perubahan kode dapat dilakukan apabila ditemukan kesalahan pada repositori. Untuk melakukannya, berikut langkah - langkah yang perlu dilakukan:
- Membuat issue sesuai dengan format yang telah ditentukan
- Lakukan langkah 3 - 7 pada prosedur penambahan algoritma
- Pastikan file ekstensi berupa
*.cpp
- Tidak menggunakan
bits/stdc++.h
karena ini cukup spesifik untuk linux dan memperlambat proses kompilasi - Gunakan snake_case (underscore_snake_case) dalam nama file
- Kami menggunakan CMake untuk testing, jadi pastikan kode kalian testing menggunakan CMake
Issues
adalah media komunikasi utama seluruh kontributor bellshade/CPP
. Issue mempermudah kita untuk melakukan tracking terhadap seluruh pekerjaan yang sudah, sedang, dan akan dilakukan. GitHub Issue memungkinkan para kontributor untuk melakukan cross-reference antara Issues
, Pull Requests
, dan branches
. GitHub issue juga memungkinkan untuk maintainer melakukan assessment terhadap pekerjaan - pekerjaan yang terkait.
Agar komunikasi menggunakan Issues
menjadi efektif dan efisien, maka format berikut harus digunakan. Kegagalan memberikan informasi yang cukup akan menyebabkan Issues
akan langsung ditutup oleh maintainer.
Berikut adalah format standar pembuatan Issues
pada repositori ini.
Berisi informasi umum mengenai problem atau fitur yang ingin dibahas.
General Information harus menyeluruh dan lengkap.Berisi tindakan - tindakan yang perlu dilakukan untuk menyelesaikan masalah
yang dibahas pada general informationBerisi informasi tambahan yang tidak terkait langsung dengan masalah,
tetapi perlu diperhatikan
- Lakukan fork pada repository kami
- Setelah melakukan fork kalian dibebaskan untuk mengubah atau menambah algoritma
- Untuk pull request merubah diusahakan kaliamn menerapkan algoritma yang lebih baik dan lebih mudah
- Setelah merubah, menambah, atau perbaikan dokumentasi, usahakan kalian membuat branch baru
git checkout -b <branch_name>
git add .
git commit -m "feat: menambahkan algoritma baru"
- Lakukan push ke branch kalian dan kemudian open pull request
Pesan / message commit harus mengikuti conventional commit. Kami menggunakan bot label agar tidak susah dalam labeling. Berikut adalah jenis-jenis pesan commit.
fix:
untuk memperbaiki bug (labelbug
).feat:
untuk menambahkan algoritma terbaru (labelenhancement
).docs:
untuk menambahkan dokumentasi (labeldocumentation
).fix(UnknownScope):
memperbaiki algoritma yang sudah ada (labelfix
).
Referensi: Conventional Commits
git commit -m "docs: menambahkan dokumentasi"
git commit -m "feat: menambahkan algoritma terbaru"
Pull request merged
jika:
- Mengikuti standar dan arahan dari
CONTRIBUTING.md
- Lulus test dan cek dari beberapa test yang sudah kami siapkan
- Jika ada kendala atau masalah dalam pull request, kalian bisa laporkan masalah lewat issue
- Jika ada test yang tidak lewat atau gagal, kami akan mengecek kembali perubahan.
Untuk pull request kami sarankan untuk menjelaskan secara detail yang kalian 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 CppAlgorithm.