Memahami Conventional Commits

 

Memahami Conventional Commits

Memahami Conventional Commits

Penulisan judul commit yang baik sangat penting dalam pengembangan perangkat lunak. Dengan commit yang terstruktur dan mudah dipahami, tim pengembang dapat lebih mudah melacak perubahan kode, memahami tujuan perubahan, serta meningkatkan kolaborasi. Artikel ini akan membahas standar penulisan judul commit yang paling umum digunakan, yaitu Conventional Commits.


Apa Itu Conventional Commits?

Conventional Commits adalah spesifikasi yang dirancang untuk menciptakan format commit yang konsisten. Format ini terdiri dari tiga elemen utama:

<type>(<scope>): <description>

Elemen Utama:

  1. <type>: Jenis perubahan yang dilakukan. Contohnya:

    • feat: Penambahan fitur baru.

    • fix: Perbaikan bug.

    • docs: Perubahan pada dokumentasi.

    • style: Perubahan terkait format atau tampilan (tidak memengaruhi logika kode).

    • refactor: Perubahan kode tanpa menambah fitur atau memperbaiki bug.

    • test: Penambahan atau perbaikan pengujian.

    • chore: Perubahan kecil yang tidak memengaruhi fungsionalitas (misalnya pembaruan dependensi).

    • perf: Perbaikan yang meningkatkan performa.

    • build: Perubahan terkait sistem build atau tool eksternal.

    • ci: Perubahan pada konfigurasi Continuous Integration.

    • revert: Membatalkan commit sebelumnya.

  2. <scope> (Opsional): Menjelaskan lingkup perubahan, seperti modul, fitur, atau file tertentu. Contoh: parser, editor, auth, API.

  3. <description>: Ringkasan singkat dan jelas mengenai perubahan (maksimal 72 karakter).


Contoh Judul Commit

Berikut adalah beberapa contoh judul commit berdasarkan Conventional Commits:

feat (Feature)

  • feat(auth): add two-factor authentication

  • feat(api): implement user endpoint for profile updates

  • feat(ui): redesign dashboard layout

fix (Bug Fixes)

  • fix(auth): resolve login timeout issue

  • fix(api): correct error handling in fetchUsers

  • fix(ui): fix alignment issue in navbar

docs (Documentation)

  • docs(readme): update installation instructions

  • docs(api): add usage examples for new endpoints

  • docs(contributing): clarify pull request process

style (Formatting)

  • style: apply consistent spacing in all files

  • style(editor): format code with Prettier

  • style(ui): standardize color variables

refactor (Code Refactoring)

  • refactor(api): simplify user fetching logic

  • refactor(parser): optimize regex for performance

  • refactor(editor): decouple toolbar logic


Mengapa Standar Ini Penting?

  1. Keterbacaan: Komit yang terstruktur memudahkan anggota tim memahami apa yang telah berubah tanpa perlu membaca kode secara detail.

  2. Otomasi: Format standar dapat digunakan untuk mengotomasi pembuatan changelog atau melakukan validasi commit saat proses CI/CD.

  3. Kolaborasi: Memudahkan kolaborasi antar tim, terutama pada proyek skala besar.

  4. Debugging: Mempermudah penelusuran bug atau perubahan tertentu melalui riwayat commit.


Panduan Praktis

Untuk memastikan commit Anda sesuai standar:

  1. Selalu gunakan format type(scope): description.

  2. Gunakan deskripsi yang singkat namun bermakna.

  3. Gunakan scope untuk memperjelas area perubahan jika diperlukan.

  4. Pastikan deskripsi commit fokus pada satu perubahan utama (hindari melakukan banyak perubahan dalam satu commit).


Dengan menggunakan standar seperti Conventional Commits, pengelolaan proyek pengembangan perangkat lunak akan menjadi lebih efisien dan terorganisir. Standar ini tidak hanya membantu tim Anda tetapi juga membantu Anda ketika pikun suatu hari nanti. :v