Rumah > hujung hadapan web > tutorial js > Bermula dengan semver `.0`

Bermula dengan semver `.0`

Susan Sarandon
Lepaskan: 2025-01-06 08:18:40
asal
909 orang telah melayarinya

Starting with semver `.0`

Lihat saya faham. Anda mengeluarkan pakej baharu... melangkah keluar, tidak pasti sama ada perpustakaan memerlukan perubahan. Jadi anda berkata, "mungkin saya patut keluarkan v0 sekarang dan keluarkan v1 kemudian apabila ia sudah cukup sedia". Artikel ini akan cuba memujuk anda untuk mengeluarkan v1 dari awal.

Terdapat beberapa sebab untuk mengeluarkan v1:

  • Versi SemVer 0.x berbeza
  • yakin dan ambil serius
  • kekuatan projek

Bagi saya, nampaknya pelbagai sebab untuk v0 bermuara kepada:

  • ketidakpastian
  • kemalasan
  • kurang pemahaman / isu kemahiran

...

Tetapi selepas membaca Isu menarik ini pada repo semver: https://github.com/semver/semver/issues/221 pendapat saya berubah. Menggunakan versi 0.x menunjukkan ketidakstabilan, benar, tetapi realitinya ialah sesetengah perpustakaan adalah tidak stabil.

Apakah yang saya maksudkan dengan tidak stabil? Bukannya perpustakaan berubah (kerana perubahan tersebut boleh dirancang dan diwakili oleh nombor versi utama). Ketidakstabilan berkaitan dengan kelaziman pepijat.

Pepijat mungkin:

  • pepijat perisian biasa, atau
  • perubahan pecah yang dikeluarkan dalam versi kecil atau tampalan.

Nota sampingan: terdapat sedikit perbezaan antara kedua-dua ini. Banyak pepijat hanyalah ketidakpadanan atau ketidakserasian antara API.

Jadi --- apakah kemungkinan perpustakaan anda akan rosak untuk pengguna? Hanya penyelenggara perpustakaan boleh menjawab soalan ini dan selalunya diperoleh daripada pengalaman dengan isu yang telah dibangkitkan dari semasa ke semasa oleh pengguna anda.

Tetapi bagaimana anda tahu betapa tidak stabilnya perpustakaan akan sebelum anda mengeluarkannya? Mungkin tempoh masa dalam 0.x adalah idea yang bagus.

Tetapi adakah perpustakaan akan mendapat 0.x? Kerana inersia adalah perkara sebenar. Adakah anda mempunyai masa? Adakah ia akan lulus jawatankuasa? Itu satu risiko.

Sebaliknya, risiko mengeluarkan 1.0.0 ialah pengguna akan mendapat ketidakstabilan jika mereka kerap menaik taraf. Tetapi ada mitigasi untuk ini. Pertama, dengan fail kunci, menaik taraf pakej adalah tindakan manual. Pengguna tidak terjejas oleh isu melainkan mereka menaik taraf. Dan mereka tidak boleh menaik taraf, atau menangguhkan peningkatan sehingga kemudian.

Pengguna baharu mungkin mendapat keluaran buggy, itu benar, tetapi itu juga berlaku dalam sistem 0.x.

Pustaka seperti buku cerita tidak begitu stabil antara versi (mengikut pengalaman saya), namun mereka masih tidak menggunakan 0.x. Untuk apa yang berbaloi.

Dan kemudian terdapat kawasan kebergantungan transitif. Jika pakej anda bergantung kepada pakej lain, maka pakej lain itu perlu menentukan julat semver yang hendak digunakan. Kestabilan anda mempengaruhi kestabilan pakej itu, jadi pertaruhannya lebih tinggi.

Sama ada pakej itu menyematkan pustaka anda atau menggunakan julat semver yang lebih luas. Dalam kes pertama, ia menyebabkan pertindihan yang tidak baik untuk prestasi. Dalam kes kedua ia berisiko ketidakstabilan. Saya akan bertaruh untuk mengatakan bahawa pilihan pertama adalah bukan permulaan dan ketidakstabilan sentiasa menjadi risiko.

Saya tidak mempunyai jawapan di sini, tetapi perkara utama ialah jika perpustakaan anda digunakan oleh perpustakaan lain maka kepentingannya lebih tinggi dan anda mungkin perlu memastikan perpustakaan anda stabil.

Jadi anda harus cuba menulis perpustakaan yang stabil, tetapi jika ia tidak stabil, teruskan dan gunakan 0.x sehingga ia stabil. Tetapi jika anda boleh, gunakan 1.x.

Atas ialah kandungan terperinci Bermula dengan semver `.0`. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan