5 poin oleh xguru 2024-09-07 | Belum ada komentar. | Bagikan ke WhatsApp
  • Komite TC39 menambahkan tahap baru "2.7" untuk membuat proses pembaruan JavaScript lebih cepat dan lebih mulus
  • Latar belakang pembaruan
    • Sejak ECMAScript 2015, JavaScript menerima pembaruan baru setiap tahun
    • Komite TC39 telah mencurahkan upaya besar pada pekerjaan standardisasi untuk meningkatkan bahasa ini
    • Untuk memastikan perancangan, pengujian, dan implementasi fitur baru dilakukan secara menyeluruh, diperkenalkan proses bertahap multi-level

Proses bertahap untuk kualitas dan kompatibilitas

  • Stage 0: Menjelajahi ide fitur baru dan mendefinisikan masalah
  • Stage 1: Harus ada repositori dan "champion" yang menjelaskan kegunaan fitur, disertai penjelasan yang jelas dan potensi isu
  • Stage 2: Draft awal desain spesifikasi. Komite mengharapkan fitur tersebut akan menjadi bagian dari bahasa
  • Stage 3: Proposal kandidat; fitur hampir selesai, tetapi masih membutuhkan pengalaman nyata melalui implementasi di browser atau runtime sisi server
  • Stage 4: Menandakan semua pekerjaan pada spesifikasi telah selesai dan siap dimasukkan ke spesifikasi bahasa secara keseluruhan. Tahap persetujuan akhir

Pengujian sebagai tonggak yang eksplisit

  • Dalam proses lama, setelah mencapai Stage 3, ada kalanya pengujian harus ditulis ulang
  • Hal ini membuat kembali ke Stage 2 terasa lebih menyakitkan daripada kembali ke Stage 3, terutama untuk proposal besar ketika desain perlu diubah
  • Menulis pengujian membutuhkan beban kerja yang cukup besar, jadi jika harus dilakukan dua kali, perpindahan antar tahap menjadi lebih menyakitkan daripada yang dimaksudkan
  • Stage 2.7 yang baru diperkenalkan untuk memisahkan tahap pengujian dari implementasi

Persyaratan Stage 2.7

  • Sudah disetujui "secara prinsip", tetapi masih memerlukan verifikasi
  • Menulis pengujian adalah salah satu cara terbaik untuk mempertimbangkan semua konsekuensi dari desain fitur. Beberapa fitur mungkin perlu pengujian ditulis bahkan sebelum desain selesai
  • Harus memperoleh pengalaman yang cukup untuk mengembangkan dan mengimplementasikan keseluruhan kumpulan pengujian serta menunjukkan bahwa hal itu dapat diterapkan
  • Teks spesifikasi untuk fitur telah selesai, dan komite TC39 tidak meminta perubahan selain perubahan yang muncul melalui pengujian, implementasi, dan penggunaan
  • Stage 2.7 membantu mengurangi pekerjaan ganda yang tidak perlu dan memungkinkan proposal langsung melaju ke Stage 3
  • Stage 3 kini berfokus pada memperoleh pengalaman implementasi serta menemukan masalah kompatibilitas web atau integrasi

Penerapan nyata Stage 2.7

  • Saat menambahkan Stage 2.7, komite TC39 meninjau semua proposal Stage 3 yang ada. Beberapa proyek belum melakukan check-in seluruh pengujian, tetapi karena hampir siap, tetap dipertahankan di Stage 3
  • Beberapa proposal seperti deferred import dan metode Math.sumPrecise sudah mencapai Stage 2.7
  • Regexp.escape, yang mendukung string escape di dalam regular expression, telah mencapai Stage 2.7 dan berpindah ke Stage 3 bersama kumpulan pengujiannya
  • Sebaliknya, proposal "microwaits" (yang saat ini dinamai atomics.pause) dinilai sulit untuk dituliskan pengujian yang berguna, baru-baru ini dipindahkan ke Stage 2.7, dan sebagian besar diskusi berkaitan dengan catatan referensi apa yang harus dimasukkan ke spesifikasi untuk implementasi

Belum ada komentar.

Belum ada komentar.