Saya melihat bahwa beberapa perangkat lunak memasukkan nomor versi sebagai bagian dari nama file mereka, sementara yang lain tidak. Saya lebih terbiasa dengan tipe yang terakhir, dan saya pikir itu lebih populer, tapi saya melihat tipe yang lama kadang-kadang di perpustakaan javascript. Misalnya, nama file jQuery seperti jquery-2.1.0.js
bukan jquery.js
. Setiap kali saya memperbarui jenis file ini, saya harus mencari tempat-tempat di program lain yang memuat file-file ini, dan mengubah nama file yang mereka rujuk, dan secara manual menghapus versi yang lebih lama dari perpustakaan ini. Itu tidak nyaman bagi saya, jadi saya lebih suka mengganti nama file untuk mengecualikan nomor versi, dan menjaga nama file yang dimaksud tidak termasuk nomor versi.
Saya menduga bahwa angka-angka ini untuk beberapa jenis kontrol versi, tetapi tidak jelas kapan dan bagaimana mereka digunakan.
- Apa pro dan kontra untuk memasukkan nomor versi dalam nama file?
- Apakah ada konsensus de facto pada bidang perangkat lunak atau bahasa mana yang menggunakan nomor versi dalam nama file, dan area / bahasa mana yang tidak? Jika demikian, apakah ada alasan untuk itu?
Jawaban:
Masuk akal untuk menentukan versi yang Anda butuhkan. Perilaku yang Anda andalkan bisa saja berubah, jadi yang lebih baru tidak selalu lebih baik. Pertama, uji apakah versi baru perpustakaan berfungsi untuk Anda. Kemudian, perbarui secara eksplisit.
Dalam hal sumber daya web, menjadikan versi sebagai bagian dari nama file adalah penting dalam konteks caching . Untuk sumber daya statis seperti
jquery.js
Anda akan memerlukan waktu cache yang sangat lama sebelum diambil kembali. Namun, selama update Anda ingin kode Anda untuk menggunakan versi baru segera , daripada harus klien beralih ke versi baru selama hari berikutnya atau lebih. Sepertifoo-1.2.3.js
sumber daya yang berbedafoo-1.2.4.js
, tidak ada cache akan menghalangi.sumber
(Tidak termasuk situasi caching web yang disebutkan oleh @amon): Saya berasumsi Anda membuat salinan lokal perpustakaan pihak ketiga untuk penggunaan program Anda, jika tidak, kebutuhan untuk nomor versi akan jelas. Skenario penggunaan perpustakaan pihak ketiga semacam itu dalam sistem perangkat lunak yang Anda kembangkan mungkin salah satu dari dua ini:
semua bagian dari program Anda yang menggunakan lib akan selalu berbagi versi lib yang sama (idealnya "yang terbaru"), dan Anda akan memperbarui lib dari waktu ke waktu. Maka menjaga nomor versi sebagai bagian dari nama file bisa sangat membosankan, dan saya benar-benar akan merekomendasikan untuk menghapus nomor dari salinan file lokal Anda jika memungkinkan. Perhatikan bahwa ini hanya ide yang bagus jika Anda memiliki keyakinan bahwa vendor pihak ketiga membuat sebagian besar lib kompatibel dengan versi sebelumnya.
Anda berharap memiliki beberapa bagian dari program Anda yang memerlukan versi A, dan beberapa lainnya yang membutuhkan versi B. Maka Anda jelas akan membutuhkan nomor versi untuk lib pihak ketiga. Perhatikan bahwa situasi ini juga dapat terjadi ketika Anda tidak dapat dengan mudah menguji semua bagian perangkat lunak Anda menggunakan lib sekaligus setelah memperkenalkan versi baru.
Dan jika Anda sendiri vendor perpustakaan, Anda harus memasukkan nomor versi secara default, tetapi biarkan pengguna Lib itu memutuskan sendiri apakah ia menyimpan nomor itu atau menghapusnya.
sumber
jquery
, untuk mana argumen caching web amon berlaku. Alasan di balik jawaban saya adalah untuk menjelaskan berbagai situasi di mana "tidak ada nomor versi" mungkin merupakan pilihan yang lebih baik.