Kod incelemelerinde karşılaşılan en sinir bozucu durumlardan biri, aslında mükemmel çalışan bir pull request’in (PR) format anlaşmazlıkları yüzünden haftalarca beklemeye alınmasıdır. Tüm testler geçmiş, mantık hatası yok, ancak yorumlar arasında gezindikçe tartışma konusu trailing comma’lar (sonlandırma virgülleri) olmaya başlar. Bu noktada kimse kodu incelemiyor, sadece kişisel tercihlerini savunuyor. Bu bir insan problemi değil; araç eksikliğinin sonucudur.
Prettier, özellikle çoklu eklenti desteğiyle bu sorunu kökten çözüyor. Birçok eğitimde sadece yüzeysel olarak geçilen bu çoklu eklenti kurulumu, aslında sadece otuz dakikalık bir ekstra çabayla kod tabanınızın tamamında standart bir formatlama sağlıyor. Bu sayede geliştiriciler, kod kalitesi ve işlevselliği üzerine odaklanabilir.
Neden Prettier? Formattan Kurtulmanın Gücü
Temiz kod, yalnızca çalışan kod değil; aynı zamanda bir başkasının gece 11’de acil bir durumda anlayabileceği ve kolayca değiştirebileceği kod demektir. Prettier, bu standardı otomatik olarak karşılayan, ücretsiz ve oldukça katı bir açık kaynaklı formatlayıcıdır. Buradaki temel fikir şudur: Prettier’in tercihlerine uymak yerine, sizin tercihlerinizi Prettier’in standartlarına göre ayarlamanız gerekir.
Bu durum başlangıçta kısıtlayıcı gibi görünebilir, ancak asıl amacın format tartışmalarını tamamen ortadan kaldırmak olduğunu fark ettiğinizde, sistemin ne kadar akıllıca çalıştığı anlaşılır. Geliştiriciler artık her PR’de "Bu satırda virgül olmalı mı?" gibi tartışmalarla vakit kaybetmiyor; bunun yerine gerçekten önemli olan teknik detaylara odaklanabiliyor.
Prettier’in Çalışma Prensibi: Formatlama mı, Yeniden Yazma mı?
Çoğu eğitim Prettier’in bir linter gibi çalıştığını öne sürer, ancak aslında durum çok daha farklıdır. Prettier, kaynak kodunuzu soyut sözdizimi ağacı (Abstract Syntax Tree - AST) adı verilen yapıya dönüştürür. Bu ağaç, kodun anlamını korurken tüm biçimlendirme detaylarından arındırılmış halidir. Ardından, Prettier kendi kurallarına göre bu ağacı yeniden yazıp, tümüyle kendi standartlarına uygun bir çıktı oluşturur.
Bu nedenle Prettier’in çıktısı her zaman tutarlıdır. O, mevcut formatlamayı düzeltmek yerine, onu baştan oluşturur. Bu yüzden, dil desteğinin ne kadar kritik olduğunu anlamak önemlidir. Eğer Prettier bir dili parse edemiyorsa, o dili formatlayamaz. Her dilin kendi ayrıştırıcıya (parser) ihtiyacı vardır ve bu ayrıştırıcı ya Prettier’in içinde gelir ya da bir eklenti aracılığıyla eklenir.
Çoklu Eklenti Kullanımının Gerçek Faydaları
Prettier’in temel kurulumu JavaScript ve web yığını için oldukça iyi çalışır. Ancak ekipler genellikle şu sorunla karşılaşır: Prettier JavaScript dosyalarında mükemmel çalışırken, SCSS dosyaları, PHP şablonları ya da GraphQL şemaları için hiçbir şey yapmaz. Bu durumda bu dosyalar tutarsız kalır ve Prettier’in değeri azalır. İşte çoklu eklentiler burada devreye giriyor.
Dil Özelinde Formatlama: "Yeterince İyi" Olmayan Yaklaşım
Genel bir formatlayıcıyı Python koduna uyguladığınızda, sonuçta sentaktik olarak doğru ancak Python topluluğunun standartlarına uymayan bir çıktı elde edersiniz. Aynı durum Go, Ruby gibi diller için de geçerlidir. İyi yazılmış bir dil eklentisi, o dilin topluluğunun formatlama beklentilerini taşır. Bu sayede kod yalnızca tutarlı değil, aynı zamanda ait olduğu dile de uygun hale gelir.
Çerçeve Farkındalığı: Beklenenden Daha Özel
Örneğin, bir React eklentisi yalnızca JSX sözdizimini anlamakla kalmaz; aynı zamanda JSX’in nasıl görünmesi gerektiğini de bilir. Örneğin, kendi kendini kapatan etiketler, prop sırası ve çok satırlı JSX parantezleri gibi detaylar. Ancak uzun ömürlü bir projede eklentinin son commit tarihini kontrol etmek önemlidir. Son 18 ay içinde güncellenmemiş bir formatlayıcı, yeni çerçeve desenlerini anlamayabilir.
Verimlilik Argümanı: Zamanı Geri Kazanmak
Her karar verme sürecinin bilişsel bir maliyeti vardır. Bir tam çalışma gününde, trailing comma’lar ya da girintiler gibi düşük önemdeki kararların ortadan kaldırılması, geliştiricilere aslında önemli olan şeylere odaklanmaları için zamanı geri kazandırır. Bu sadece dakikaların kurtarılması değil; konsantrasyonun bölünmemesi anlamına gelir.
Prettier Kurulumu: Gerçek Süreç Ne Kadar Basit?
Kurulum süreci üç adımdan oluşur ve hiçbir sihirli yanı yoktur.
Adım 1: Tüm Eklentileri Tek Seferde Yükleyin
Aşağıdaki komutu kullanarak Prettier ve ihtiyacınız olan tüm eklentileri aynı anda yükleyin:
npm install --save-dev prettier \
prettier-plugin-tailwindcss \
@prettier/plugin-php \
prettier-plugin-organize-importsBu, tüm bağımlılıkları tek bir komutla yüklemenizi sağlar.
Adım 2: Tek Bir Yapılandırma Dosyası Oluşturun
Proje kök dizininde .prettierrc ya da prettier.config.js adlı bir dosya oluşturun ve aşağıdaki yapılandırmayı ekleyin:
{
"semi": true,
"singleQuote": true,
"trailingComma": "es5",
"printWidth": 100,
"plugins": [
"prettier-plugin-tailwindcss",
"@prettier/plugin-php",
"prettier-plugin-organize-imports"
]
}Bu yapılandırma dosyası, Prettier’in tüm davranışlarını ve kullanılacak eklentileri tanımlar.
Adım 3: Formatlama Komutunu Projeye Entegre Edin
Paket.json dosyanızda aşağıdaki komutu ekleyin:
{
"scripts": {
"format": "prettier --write ."
}
}Artık npm run format komutuyla tüm projeyi standartlaştırabilirsiniz. Bu komut, Prettier’in tüm dosyaları tarayarak onları tanımlanan kurallara göre yeniden biçimlendirmesini sağlar.
Sonuç: Standartlaşmış Kod, Odaklanmış Geliştiriciler
Prettier ve çoklu eklenti kurulumu, kod tabanınızın her yerinde tutarlı bir formatlama sağlamanın ötesinde, geliştiricilerin asıl önemli olan şeylere odaklanmasını sağlar. Format tartışmaları artık geçmişte kalmış bir anı olabilir.
Prettier’in sunduğu bu standartlaşma, yalnızca kod kalitesini artırmakla kalmaz; aynı zamanda ekibin verimliliğini de önemli ölçüde yükseltir. Artık yeni üye katılımlarında ya da acil durumlarda bile herkes, kodun ne yaptığını ve nasıl düzenlendiğini anında kavrayabilir. Bu, yalnızca bir formatlama aracı değil; aynı zamanda ekip içinde ortak bir dil oluşturmanın da bir yoludur.
Gelecekte, Prettier’in daha fazla dil ve çerçeveye destek sağlamaya devam etmesiyle birlikte, geliştiricilerin formatlama konusunda endişelenmesi gereken günler daha da azalacaktır. Tüm takımın daha yaratıcı ve üretken olabilmesi için, bu araçlardan en iyi şekilde faydalanmak akıllıca bir adımdır.
Yapay zeka özeti
Prettier çoklu eklenti kurulumu ile takım içi format tartışmalarına son verin. Adım adım rehber ve en iyi uygulamalarla kod standartlaşmasını sağlayın.