SemVer aka Semantic Versioning

Barusan saya mengunjungi suatu alamat website yang berisi tentang sebuah software. Pada salah satu bagian paragrafnya, disebutkan bahwa penulisan versi software tersebut tidak sesuai aturan main Semantic Versioning (SemVer). Oleh karena itu, saya tergelitik untuk menulis mengenai semver tersebut mengingat bahwa saya sendiri pun tidak mematuhi aturan main SemVer tersebut. Haha…

Apa itu SemVer? Secara sederhana, SemVer adalah sistem pemberian nomor versi sebuah produk (bisa software, peraturan, dsb) yang menunjukkan perbedaan satu versi dengan versi lainnya. Perbedaan dalam hal apa? perbedaan dalam hal misalnya perubahan API yang membuat incompatibility, perbedaan fungsi, hingga perbaikan patch.

Penampakan SemVer terdiri atas tiga kelompok nomor yang masing-masing dipisahkan oleh tanda titik. Contoh: 2.0.0, 1.1.11, dan seterusnya. Maksud angka tersebut adalah MAJOR.MINOR.PATCH. Berikut penjelasannya:

  • Major: nomor versi jika kita membuat perubahan yang drastis, perubahan API yang incompatible (tidak kompatibel dengan versi lainnya).
  • Minor: jika kita melakukan penambahan fungsi-fungsi yang masih bisa kompatibel antara nomor satu dengan nomor yang lainnya.
  • Patch: Jika kita membuat perbaikan atau penambalan pada bug-bug di versi minor yang sama.

Demikian tulisan singkat yang saya ambil sarinya dari website Semantic Versioning (http://semver.org). Di website tersebut bahkan disebutkan bahwa SemVer juga memiliki versi, yang teranyar yaitu 2.0.0.

Semoga bermanfaat dan kita bisa menerapkan penomoran versi ini pada produk-produk kita berikutnya. Aamiin…

Iklan
Pos ini dipublikasikan di Developer dan tag , . Tandai permalink.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s