adydetra_

Semantic commit

1 Dec 2023

Apa Itu Semantic Commit?

Semantic Commit seolah menjadi semacam bahasa rahasia untuk memberitahu perubahan apa yang dilakukan dalam kode program.

Bayangkan, saat kamu bekerja sama dalam tim dan terdapat banyak perubahan dalam kode, Semantic Commit berfungsi seperti kamus agar semua anggota tim paham ๐Ÿง dengan jelas mengenai perubahan yang terjadi.

Contoh Jenis Semantic Commit:

  • fix: melakukan perbaikan bug
  • feat: menambahkan fitur baru
  • docs: memperbarui dokumentasi
  • test: menambahkan atau mengubah test
  • chore: tugas-tugas rutin atau perubahan kecil
  • refactor: melakukan restrukturisasi kode tanpa menambahkan fitur atau memperbaiki bug

Ini merupakan contoh default dalam Semantic Commit yang biasa digunakan oleh developer.

Semantic Commit bisa berubah tergantung pada aturan yang diberikan oleh pemilik repository atau leader tim ๐Ÿ‘”. Hal ini bisa disesuaikan dengan kebutuhan proyek dan tim pengembangan.

Tidak harus berpacu menggunakan default semantic, yang terpenting menuliskan commit secara jelas berdasarkan point pengerjaan.

Mengapa Harus Menggunakan Semantic Commit?

Menggunakan Semantic Commit mirip dengan menggunakan bahasa internasional bagi para pengembang.

Semua pengembang yang melihat riwayat commit ๐Ÿ•’ dapat langsung memahami perubahan apa yang terjadi.

Tidak perlu lagi bingung atau bertanya-tanya ๐Ÿค”, semuanya sudah jelas dari pesan commitnya.

Contoh Kasus Semantic Commit

Bayangkan jika kamu memiliki repository dan memiliki 10+ kontributor, lalu salah satu developer tidak menggunakan Semantic Commit. Misalnya hanya sekedar menuliskan:

  • update
  • upload gambar
  • fix bug
  • add button

Sepertinya keliatan biasa saja ๐Ÿ™„, tapi bagaimana kasusnya jika project tersebut sudah besar dan memiliki banyak commit?

Pasti akan kebingungan untuk disortir/dibaca ๐Ÿ’ข.

Sebagai contoh dilihat kembali list no.3, developer tersebut hanya mengisikan fix bug, bug apa yang di fix? ๐Ÿ—ฟ

Lebih baiknya bisa dibuat seperti ini:

  • update layout responsive bagian navigasi
  • upload gambar untuk about.md
  • fix bug fetch api error
  • add scroll top button

Atau gunakan default semantic โœจ yang sudah saya jelaskan sebelumnya:

  • chore: improve layout responsive bagian navigasi
  • docs: upload gambar untuk about.md
  • fix: bug fetch api error
  • feat: scroll top button component

Bagaimana, terlihat rapih kan? dengan pesan commit seperti itu terlihat lebih jelas, serta membantu tim/developer yang lain agar memahami commit tersebut.

Tambahan Dari Saya

Semantic Commit sebenarnya tidak diwajibkan, tidak ada aturan yang menuntut kamu menggunakan Semantic Commit. Terutama untukmu yang tidak pernah berkerja dengan tim, hanya sekedar commit di individual repository.

Namun saya mewajibkan ๐Ÿ“Œ menggunakannya walaupun melakukan commit di individual repository sekalipun, nantinya akan terbiasa menulis commit yang rapih, dan berguna juga di dunia perkerjaan yang menggunakan metode semantic tersebut.

Dengan hal tersebut kamu akan terlihat seperti developer yang teliti dan professional ๐Ÿ‘Œ.