Apa Itu Sematic Versioning?

By Admin
29 Jul 2022

Kenapa aplikasi butuh versioning?

Versioning biasanya dibutuhkan setiap kali merilis aplikasi atau software. Tujuannya adalah agar para pengguna tahu pada tahap atau versi berapa aplikasi yang sedang dipakai.

Nah salah satu tipe versioning yang sering dipakai dan mudah dimengerti adalah Sematic Versioning.

Versioning tidak sekedar menambahkan versi dalam sebuah software, tapi bisa juga digunakan untuk menandai fitur-fitur apa saja yang sudah ditambah maupun bug fix apa saja yang sudah dikerjakan.

Apa itu sematic versioning?

contoh laravel versioning

Jika kamu perhatikan release tag dari framework laravel di pada gambar di atas, kamu akan melihat angka-angka yang dipisahkan oleh titik bukan?

Contohnya: 6.0.4

Bisa dituliskan Major.Minor.Patch

  • Major Rilis: Angka yang paling kiri, dimana nilainya +1 jika update yang dilakukan bisa merusak atau tidak cocok dengan versi major sebelumnya.
  • Minor Rilis: Angka yang tengah-tengah. Digunakan jika ada update atau fitur baru yang tidak berpengaruh terhadap flow software secara besar.
  • Patches or bug fixes: Angka yang paling kiri, digunakan untuk mencatat jika ada bug fix atau patch baru.

Jadi pada tahap awal pengembangan sebuah produk. pasti versionnya akan dimulai dari 0.1.0 bukan 0.0.1 ya.

Jika ada update fix bug dan patch, versionnya hanya diupdate yang paling kiri jadi misalnya versinya menjadi 0.1.1, 0.1.2 dan seterusnya.

Jika ada update fitur maka kamu bisa mengupdate angka yang tengah-tengah + 1 menjadi 0.2.0. Jadi patch/bug fixnya akan direset lagi menjadi 0.

Jika kamu sudah yakin untuk merilis versi pertama dari aplikasi kamu, maka bisa mulai untuk publish major release dengan dimulai dari versi 1.0.0

Mudah bukan?

Lalu apa best practice dalam membuat version control?

Beberapa mungkin sudah saya sebutkan diatas. tapi kita akan rangkum semuanya.

1. Selalu mulai dari versi 0.1.0

Karena awal dari sebuah software adalah kumpulan dari beberapa fungsi maka versi awal adalah 0.0.1. Misalnya versi awal adalah 0.0.1 maka itu kumpulan bug fix bukan?

2. Selalu buat release note atau CHANGELOG atau dokumentasi.

Contoh Changelog Laravel

Kenapa? Meskipun membuat dokumentasi dari setiap rilis itu melelahkan, tapi percayalah, kamu pasti tidak akan ingat dari setiap rilis tersebut tentang apa.

Jadi kamu dan orang lain dalam tim ataupun user produk kamubisa tahu informasi tentang release terbaru. Kamu bisa dengan mudah juga mengecek tentang apa rilis yang sudah lewat.

Masih males juga? Untuk mempermudah pembuatan changelog, saya rekomendasikan menggunakan https://keepachangelog.com/en/1.0.0/

3. Kumpulkan feedback dari setiap tahapan rilis.

Feedback dari user sangat penting. Kenapa?

Meskipun kamu sudah melakukan testing sebelum rilis, tarkadang user bisa saja menemukan bug. Jadi dengan feedback kamu bisa memperbaiki dan menemukan cakupan bug yang lebih luas.

Kesimpulan

Sematic Versioning walau hanya sekedar penomoran, tapi jika kamu mengikuti aturan ini tentu membuat proses development menjadi lebih rapi dan tercatat di masing-masing release, update ataupun bug fix. Juga memberikan informasi yang jelas kepada user.

Sudah siap mengimplementasikan Sematic Versioning sekarang?

Referensi:

https://semver.org/ 
https://medium.com/@jameshamann/a-brief-guide-to-semantic-versioning-c6055d87c90e

Bonus video tentang Sematic Versioning.

Artikel Lainnya

Artikel lain yang mungkin menarik juga untuk kamu baca.

Apa itu Persistance Layer?

Kali ini kita akan membahas tentang apa itu persistance layer khususnya dalam PHP OOP. Persistance layer biasa dijelaskan sebagai layer tempat untuk CREATE, UPDATE, DELETE data.
Admin
5 min read

Tips untuk simple code: part 4. Batasi penggunaan variable yang tidak perlu

Tips untuk simple code adalah membatasi penggunaan variable yang tidak perlu. Mau tahu implementasinya seperti apa? Yuk baca artikel ini lebih lanjut.
Admin
5 min read

Tips untuk simple code: part 3. satu level indentation

Part ketiga dari tips membuat kode kamu lebih simple ini adalah bagaimana caranya agar kode yang kamu buat memiliki minimal satu level indentation di dalam fungsi yang kamu buat. Kedengarannya memang susah sih, tapi kita lihat dahulu sample kode di bawah ini.
Admin
5 min read

© 2024