Prettier nedir? Standartın önemi nedir? Temiz kod yaklaşımı.

Prettier Nedir?

Prettier, aşağıdakileri destekleyen bir kod formatlayıcısıdır:

  • JavaScript, including ES2017
  • JSX
  • Angular
  • Vue
  • Flow
  • TypeScript
  • CSS, Less, and SCSS
  • HTML
  • JSON
  • GraphQL
  • Markdown, including GFM and MDX
  • YAML

Prettier, Tüm orijinal stilleri kaldırır ve gönderilen tüm kodların tutarlı bir stilde uyumlu olmasını sağlar. Yani kodunuzu alır, satır uzunluğunu hesaba katarak sıfırdan yazdırır.

Örneğin aşağıdaki kod bloğunu inceleyelim:

1
foo(arg1, arg2, arg3, arg4);

Bu blok, tek bir satırda okunabilir. Bu yüzden stillendirmeye ihtiyacı yok. Ancak aşağıdaki kodda bu ihtiyacın doğduğunu görüyoruz:

1
foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne());

Bu blok çok uzun olduğundan bunu ayırmamız gerekiyor. Prettier, sizin için bu şekilde yeniden yazıyor:

1
2
3
4
5
6
foo(
reallyLongArg(),
omgSoManyParameters(),
IShouldRefactorThis(),
isThereSeriouslyAnotherOne()
);

Prettier, kod tabanınızın tamamında tutarlı bir kod stili (örn. AST’yi etkilemeyecek kod formatı) uygular.

Standartın Önemi

Standartın önemini bir örnek ile açıklayabilirim:

Gördüğünüz gibi, saat okumak gibi basit bir iş, standart olmadığında bir eziyete dönüşüyor. Kod için de aynı, başka birinin standartlara uymayan kodunu okuduğunuz zaman, buna alışmak zaman alıyor. Zaman ise, bildiğiniz gibi, projelerdeki en önemli kavram.

Özgürlük

Prettier, aslında istediğiniz şekilde kod yazmayı kolaylaştırıyor, çünkü daha sonra anında doğru bir şekilde formatlıyor. Böylece takımınızla birlikte, birleşik bir kod yazabiliyorsunuz.

Noktalı virgül yazmayı umursamıyor musunuz? Aşağıdakini yazın, Prettier sizin için zaten formatlıyor.

1
2
3
4
5
6
function foo() {
var x = 5
var y = 6
var z = 7
return x + y + z
}

Bir takımda çalışırken sürtünmeyi azaltmak çok önemli. Bu sorun, özellikle büyük takımlarda gerçekleşiyor. Tamamen sürtünmeden kaçınmak imkansız, ancak daha iyi çalışmayı kolaylaştırmak için Prettier gibi araçlardan faydalanabilirsiniz.

Kaynaklar: Prettier Docs James Long Siddhant Khare