Google şirket genelinde geçerli Rust stil kılavuzunu yayımladı
Öne çıkanlar
- Google; Android, Chrome ve Fuchsia projelerini kapsayan Rust tasarım rehberini paylaştı.
- Büyük ölçekli kod tabanlarında araç destekli otomatik güncellemelerin önü açılıyor.
- Chromium projelerinde derleme performansı için tek dizinli küçük crate yapıları zorunlu tutuldu.
Google, şirket bünyesindeki yazılım projelerinde Rust programlama dilinin tutarlı kullanımını sağlamak amacıyla resmi Rust Stil Kılavuzu belgesini yayımladı. Hazırlanan rehber; google3, Android, ChromeOS, Fuchsia ve Chrome gibi büyük ölçekli kod tabanlarında biçimlendirmenin ötesine geçerek API ve uygulama tasarımı standartlarını belirliyor. Kılavuz, genel Rust topluluk kurallarını temel alırken Google'ın geniş kod tabanlarında sıkça uyguladığı büyük ölçekli değişikliklerin otomatik araçlarla sorunsuz yürütülmesini hedefliyor.
Belge, kütüphane kodu ile uygulama kodu arasında ayrım gözeterek kuralların bağlayıcılığını farklılaştırıyor. Kütüphane tasarımlarında API kuralları zorunlu tutulurken, uygulama kodlarında doğrudan amaca yönelik basitlik ve esneklik tavsiye ediliyor. Chromium gibi devasa projeler için özel kural setleri içeren kılavuz; küçük paket yapılarının tercih edilmesini, kaynak dosyaların tek bir dizinde toplanmasını ve genel içe aktarmaların sınırlandırılmasını şart koşuyor. Bu tercihin derleme önbelleği verimliliği ve paralel derleme performansını korumak için alındığı belirtiliyor.
Rehberde bellek yönetimi ve performans pratikleri de ayrıntılı olarak yer alıyor. Akıllı işaretçiler yerine benzersiz sahiplik ve ödünç alma mekanizmalarının kullanılması teşvik edilirken, referans parametrelerinde akıllı işaretçi sarmalayıcıları yerine doğrudan veriyi işaret eden türlerin tercih edilmesi isteniyor. Hata yönetiminde ise beklenen durumlar için Option, kurtarılabilir hatalar için Result ve iç tutarlılık ihlalleri için panik çağrılarının kullanılması kurala bağlanıyor.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.