Komuniti pembangunan perisian sedang hangat berdiskusi mengenai Pride Versioning, satu pendekatan jenaka terhadap penomboran versi perisian yang menggantikan semantic versioning tradisional dengan pendekatan yang lebih jujur dari segi emosi. Dicipta oleh Niki Tonsky, sistem alternatif ini menggunakan format PROUD.DEFAULT.SHAME sebagai ganti struktur major.minor.patch yang konvensional.
Perbandingan Format Sistem Versi Pride
Sistem Versi | Format | Contoh | Ciri-ciri Utama |
---|---|---|---|
Pride Versioning | PROUD.DEFAULT.SHAME | 2.7.123 | Peningkatan berasaskan emosi |
Semantic Versioning | MAJOR.MINOR.PATCH | 2.7.123 | Berasaskan impak teknikal |
Calendar Versioning | YYYY.MM.DD | 2020.12.07 | Keluaran berasaskan tarikh |
OpenSSL System | MAJOR.MINOR.LETTER | 1.1.1a | Peraturan keserasian tersuai |
![]() |
---|
Imej ini menggambarkan sistem Pride Versioning, menonjolkan bagaimana nombor versi boleh mencerminkan penglibatan emosi dengan perubahan pembangunan |
Komuniti Mendedahkan Amalan Versioning Dunia Sebenar yang Pelik
Konsep Pride Versioning telah mendorong para pembangun untuk berkongsi contoh-contoh skim versioning yang tidak konvensional yang sudah digunakan oleh projek-projek utama. Dasar versioning OpenSSL menonjol sebagai sesuatu yang sangat luar biasa untuk perisian infrastruktur yang begitu kritikal. Sistem mereka menggunakan keluaran utama untuk perubahan yang memecahkan keserasian, keluaran kecil untuk penambahan ciri yang mengekalkan keserasian binari, dan keluaran huruf secara eksklusif untuk pembetulan pepijat dan keselamatan. Pendekatan ini berbeza dengan ketara daripada semantic versioning standard, namun melayani salah satu perisian yang paling sensitif keselamatan dalam dunia pengkomputeran.
Sejarah versioning Ruby menyediakan satu lagi kajian kes yang menarik. Bahasa ini sebelum ini mengikuti apa yang mereka panggil Semantic Versioning, tetapi dengan sentuhan unik - versi kecil dikeluarkan setiap Hari Krismas di Jepun, tanpa mengira keserasian API. Pendekatan berasaskan kalendar ini mengutamakan masa keluaran yang boleh diramal berbanding pertimbangan teknikal, walaupun Ruby kini telah bergerak lebih dekat kepada amalan semantic versioning tradisional.
Pendekatan Versioning Alternatif Mendapat Perhatian
Perbincangan ini juga telah menyerlahkan calendar versioning, kadangkala dipanggil Gregorian versioning oleh ahli komuniti, sebagai alternatif praktikal kepada semantic versioning. Pendekatan ini menggunakan tarikh dalam nombor versi, menjadikannya jelas serta-merta bila perisian terakhir dikemas kini. Versioning pakej Ubuntu mencontohkan kaedah ini, membantu pengguna mengenal pasti dengan cepat sama ada projek dikekalkan secara aktif atau telah ditinggalkan.
Ini lebih masuk akal daripada yang kelihatan. semver adalah pembohongan kerana setiap perubahan adalah perubahan yang memecahkan
Sentimen ini mencerminkan keraguan yang semakin meningkat mengenai keberkesanan semantic versioning dalam amalan, merujuk kepada Hukum Hyrum - prinsip bahawa dengan pengguna yang cukup, setiap tingkah laku yang boleh diperhatikan menjadi sebahagian daripada API.
Peraturan Versioning Pride
- Versi PROUD: Tambah apabila membuat perubahan yang anda benar-benar banggakan
- Versi DEFAULT: Tambah untuk keluaran yang hanya okay sahaja
- Versi SHAME: Tambah apabila membaiki bug yang memalukan
- Peraturan reset: Apabila meningkatkan versi PROUD, reset nombor lain kepada 0 (contoh: 1.2.3 → 2.0.0)
- Sambungan: Label pra-keluaran dan metadata binaan tersedia
Semakan Realiti untuk Semantik Nombor Versi
Walaupun Pride Versioning bermula sebagai konsep jenaka, ia telah bergema dengan pembangun yang mengiktiraf realiti emosi di sebalik keluaran perisian. Perbincangan komuniti mendedahkan bahawa ramai pembangun sudah secara tidak rasmi mengkategorikan keluaran mereka berdasarkan tahap keyakinan dan bukannya impak teknikal sahaja. Sesetengah pembangun menyatakan bahawa digit versi pemasaran perlu ditambah sebagai nombor pertama, mengakui bagaimana pertimbangan perniagaan sering mengatasi logik versioning teknikal.
Perbualan ini akhirnya menyerlahkan cabaran berterusan untuk menyampaikan perubahan perisian dengan berkesan kepada pengguna sambil mengimbangi ketepatan teknikal dengan keperluan praktikal.
Rujukan: Pride Versioning 0.3.0