İçeriğe geç

SSS

Bir araç takımı (toolkit) veya linter var mı?

Section titled “Bir araç takımı (toolkit) veya linter var mı?”

Evet! Projenizin mimarisini denetlemek için Steiger adında bir linter’ımız ve CLI veya IDE’ler üzerinden çalışan klasör oluşturucularımız mevcut.

Sayfaların şablonlarını (layout/template) nerede saklamalıyım?

Section titled “Sayfaların şablonlarını (layout/template) nerede saklamalıyım?”

Sadece basit işaretleme (markup) şablonlarına ihtiyacınız varsa, bunları shared/ui içinde tutabilirsiniz. Eğer içlerinde daha üst katmanları kullanmanız gerekiyorsa, birkaç seçeneğiniz var:

  • Belki de şablonlara hiç ihtiyacınız yoktur? Eğer şablon sadece birkaç satırdan oluşuyorsa, onu soyutlamaya çalışmak yerine kodu her sayfada tekrarlamak daha mantıklı olabilir.
  • Şablonlara gerçekten ihtiyacınız varsa, bunları ayrı widget’lar veya sayfalar olarak tutabilir ve App katmanındaki yönlendirici (router) yapılandırmanızda birleştirebilirsiniz. İç içe yönlendirme (nested routing) başka bir seçenektir.

Feature (Özellik) ve Entity (Varlık) arasındaki fark nedir?

Section titled “Feature (Özellik) ve Entity (Varlık) arasındaki fark nedir?”

Entity (Varlık), uygulamanızın üzerinde çalıştığı gerçek hayattaki bir kavramdır. Feature (Özellik) ise uygulamanızın kullanıcılarına gerçek hayatta değer sağlayan bir etkileşimdir; yani insanların varlıklarınızla (entities) yapmak istediği eylemlerdir.

Örneklerle birlikte daha fazla bilgi için, dilimler (slices) hakkındaki Referans sayfasına bakabilirsiniz.

Sayfaları/özellikleri/varlıkları (pages/features/entities) birbirlerinin içine yerleştirebilir miyim?

Section titled “Sayfaları/özellikleri/varlıkları (pages/features/entities) birbirlerinin içine yerleştirebilir miyim?”

Evet, ancak bu yerleştirme işlemi daha üst katmanlarda gerçekleşmelidir. Örneğin, bir widget içinde iki özelliği (feature) içe aktarabilir (import) ve ardından bir özelliği diğerine props/children olarak yerleştirebilirsiniz.

Bir özelliği başka bir özellikten içe aktaramazsınız, bu durum katmanlardaki içe aktarma kuralı (import rule on layers) tarafından yasaklanmıştır.

Metodolojinin mevcut sürümü, Atomic Design’ın Feature-Sliced Design ile birlikte kullanılmasını ne gerektirir ne de yasaklar.

Örneğin Atomic Design, modüllerin ui segmenti için oldukça iyi uygulanabilir.

FSD hakkında faydalı kaynaklar/makaleler vb. var mı?

Section titled “FSD hakkında faydalı kaynaklar/makaleler vb. var mı?”

Evet! https://github.com/feature-sliced/awesome

Neden Feature-Sliced Design’a ihtiyacım var?

Section titled “Neden Feature-Sliced Design’a ihtiyacım var?”

Sizin ve ekibinizin, projeyi ana değer katan bileşenleri açısından hızlıca gözden geçirmenize yardımcı olur. Standartlaştırılmış bir mimari, projeye katılım (onboarding) sürecini hızlandırır ve kod yapısı hakkındaki tartışmaları çözer. FSD’nin neden yaratıldığı hakkında daha fazla bilgi edinmek için motivasyon sayfasına bakabilirsiniz.

Acemi bir geliştiricinin bir mimariye/metodolojiye ihtiyacı var mı?

Section titled “Acemi bir geliştiricinin bir mimariye/metodolojiye ihtiyacı var mı?”

Hayır’dan çok evet.

Genellikle, bir projeyi tek başınıza tasarlayıp geliştirdiğinizde her şey sorunsuz ilerler. Ancak geliştirmeye ara verildiğinde veya ekibe yeni geliştiriciler eklendiğinde sorunlar ortaya çıkmaya başlar.

Yetkilendirme (authorization) context’i ile nasıl çalışırım?

Section titled “Yetkilendirme (authorization) context’i ile nasıl çalışırım?”

Cevabı burada bulabilirsiniz.