5 puan yazan xguru 2024-09-07 | Henüz yorum yok. | WhatsApp'ta paylaş
  • TC39 komitesi, JavaScript güncelleme sürecini daha hızlı ve sorunsuz hale getirmek için yeni bir aşama olan "2.7"yi ekledi
  • Güncellemenin arka planı
    • ECMAScript 2015'ten bu yana JavaScript her yıl yeni güncellemeler aldı
    • TC39 komitesi, dilin geliştirilmesi için standardizasyon çalışmalarına büyük çaba harcadı
    • Yeni özelliklerin kapsamlı biçimde tasarlanmasını, test edilmesini ve uygulanmasını güvence altına almak için çok aşamalı bir süreç benimsendi

Kalite ve uyumluluk için aşamalı süreç

  • Stage 0: Yeni özellik fikirlerini keşfetme ve problemi tanımlama
  • Stage 1: Net bir açıklama ve olası sorunları içermeli; özelliğin faydasını açıklayan bir depo ve bir "champion" bulunmalı
  • Stage 2: Spesifikasyon için ilk taslak tasarım. Komite, ilgili özelliğin dilin bir parçası olmasını bekler
  • Stage 3: Aday öneri olarak özellik neredeyse tamamlanmıştır, ancak tarayıcıda veya sunucu tarafı çalışma zamanlarında yapılan uygulamalar üzerinden gerçek deneyime ihtiyaç vardır
  • Stage 4: Spesifikasyon üzerindeki tüm çalışmalar tamamlanmıştır ve tam dil spesifikasyonuna dahil edilmeye hazır olduğu anlamına gelir. Nihai onay aşaması

Açık bir kilometre taşı olarak testler

  • Önceki süreçte, Stage 3'e ulaşıldığında testlerin yeniden yazılması gereken durumlar olabiliyordu
  • Bu durum, özellikle tasarımın değiştirilmesi gereken büyük önerilerde, Stage 3'ten geri dönmekten ziyade Stage 2'ye dönmeyi daha da sancılı hale getiriyordu
  • Test yazımı önemli bir iş yükü gerektirdiğinden, bunun iki kez yapılması gerektiğinde aşamalar arasında geçişler amaçlanandan daha zahmetli hale geliyordu
  • Yeni Stage 2.7, test aşamasını uygulamadan ayırmak için getirildi

Stage 2.7'nin gereksinimleri

  • "İlke olarak" onaylanmıştır, ancak doğrulanması gerekir
  • Test yazmak, özellik tasarımının tüm sonuçlarını dikkate almanın en iyi yollarından biridir. Bazı özellikler, tasarım tamamlanmadan önce bile test yazımını gerektirebilir
  • Tüm test paketinin ve prototipin geliştirilmiş olması ve bunun uygulanabileceğini gösterecek yeterli deneyimin elde edilmesi gerekir
  • Özellik spesifikasyonuna ilişkin metin tamamlanmıştır ve TC39 komitesi, test, uygulama ve kullanım sırasında ortaya çıkan değişiklikler dışında değişiklik talep etmez
  • Stage 2.7, gereksiz yinelenen işleri azaltır ve önerilerin doğrudan Stage 3'e geçmesine yardımcı olur
  • Stage 3 artık uygulama deneyimi kazanmak ve web uyumluluğu ya da entegrasyon sorunlarını keşfetmekle ilgilidir

Stage 2.7'nin pratikte uygulanması

  • TC39 komitesi, Stage 2.7'yi eklerken mevcut tüm Stage 3 önerilerini gözden geçirdi; bazı projeler tüm testleri henüz check-in etmemiş olsa da neredeyse hazır oldukları için Stage 3'te bırakıldı
  • Gecikmeli içe aktarma önerisi (deferred import) ve Math.sumPrecise yöntemi gibi bazı öneriler şimdiden Stage 2.7'ye ulaştı
  • Düzenli ifadelerde dize kaçışlarını destekleyen Regexp.escape, test paketiyle birlikte Stage 2.7'ye ulaştı ve Stage 3'e geçti
  • Buna karşılık, "microwaits" önerisi (şu anda atomics.pause olarak adlandırılıyor) için faydalı testler yazmanın zor olduğu görüldü; bu öneri yakın zamanda Stage 2.7'ye taşındı ve tartışmaların çoğu, uygulama için spesifikasyona hangi notların eklenmesi gerektiği üzerineydi

Henüz yorum yok.

Henüz yorum yok.