Ortak kod düzenleme nedir?

Ortak kod düzenleme, birden fazla geliştiricinin aynı kod üzerinde aynı anda, her birinin kendi tarayıcısında çalışmasını sağlar. Eşli programlama, mülakatlar, öğretim ve bir kod parçasında birlikte hata ayıklama için kullanışlıdır; ortak bir IDE kurmaya veya dosyaları birbirine göndermeye gerek kalmaz.

Herkesin kopyasını aynı tutmak için değişiklikler dosyaların tamamı yerine küçük düzenlemeler olarak iletilir ve bunların uygulanma sırasını tek bir sunucu belirler. Aynı anda yapılan düzenlemeler birbirine göre uyarlanır; böylece her iki düzenleme de korunur.

Araç açıklaması

Bu araç, sözdizimi vurgulama özelliğine sahip ortak bir TypeScript düzenleyicisidir. Aracı açıp bağlantıyı paylaşın: odadaki herkes aynı kodu gerçek zamanlı olarak düzenler, diğerlerinin imleçlerini görür ve tek tıklamayla herkes için kodu doğrulayabilir veya biçimlendirebilir.

Doğrulama, Babel ayrıştırıcısını ve TypeScript eklentisini kullanarak sözdizimini denetler; bu sayede tür açıklamaları, arayüzler, generic türler ve enum'lar doğru şekilde anlaşılır. Biçimlendirme, Prettier'ın TypeScript ayrıştırıcısını kullanır. Biçimlendirilen kod yalnızca değişen satırların yerini alır; böylece bu sırada başkalarının yazdıkları olduğu gibi kalır.

Özellikler

  • Gerçek zamanlı düzenleme - herkesin yaptığı değişiklikler anında görünür ve kişiler aynı anda yazdığında birleştirilir
  • İmleçler ve seçimler - her kişinin nerede olduğunu, adının yanında gösterilen renkle görün
  • Doğrula - TypeScript sözdizimini denetler ve ilk hatayı satır ve sütun bilgileriyle gösterir
  • Biçimlendir - odadaki herkes için kodu Prettier ile yeniden biçimlendirir
  • Kopyala ve indir - kodun bir kopyasını .ts dosyası olarak saklayın

Nasıl çalışır?

Sayfa açıldığında eşitleme sunucusunda bir oda oluşturur ve bağlantısını adres çubuğuna yerleştirir. Bağlantıyı açan herkes aynı odaya katılır ve aynı belgeyi görür.

Her değişiklik, metnin tamamı yerine neyin değiştiğini açıklayan küçük bir bilgi olarak sunucuya gönderilir: hangi karakterlerin nereye eklendiği veya nereden silindiği. Sunucu, herkesin yaptığı değişiklikleri tek bir sıraya koyar, eski bir sürüm üzerinde yapılan değişikliği kendisinden önce gelen değişikliklerin sonrasına taşır ve sonucu diğer herkese iletir. Kendi yazdıklarınız anında görünür; başkalarının değişiklikleri de bunların çevresinde birleştirilir. Böylece iki kişi aynı anda düzenleme yaptığında kimsenin yazdıkları kaybolmaz.

Belge, oda açık olduğu sürece yalnızca sunucunun belleğinde tutulur. Sayfayı yeniden yüklerseniz metnin son hâliyle odaya geri dönersiniz. Herkes odadan ayrıldığında oda ve metni silinir.

Sınırlamalar

  • Bir odada en fazla 20 kişi ve 100.000 karakter bulunabilir.
  • Oda kapandıktan sonra hiçbir şey saklanmaz. Son kişi ayrılmadan önce metni indirin.
  • Belgenin tamamını arka arkaya birçok kez yapıştırmak gibi çok hızlı veya çok büyük değişiklikler reddedilir ve düzenleyici odadaki metni yeniden yükler.
  • Bir oda bağlantısını başka bir ortak düzenleyicide açmak (örneğin JavaScript düzenleyicisinde bir SQL odası açmak) "Oda bulunamadı" mesajını gösterir: her oda tek bir dile aittir.
  • Doğrulama yalnızca sözdizimini denetler, türleri denetlemez: tür hatası nedeniyle derlenemeyecek kodlar da doğrulamadan geçer. JSX (.tsx) desteklenmez.