Android ‘te Package Yapınız Nasıl olmalı ?

Dizin yapısı, kaynak kodunuza göz atarken bir geliştiricinin karşılaştığı en önemli şeydir. Kodlama kısmında her şey onunla başlıyor. Her şey ondan geçiyor. Her şey ona bağlı. Açıkçası kaynak kodun en önemli yönlerinden biridir.

   PBF (Package By Feature), aynı modül içindeki birleşimi arttırıyor, paketler arasındaki düşük bağlantı, yapıyı düzgün bir şekilde muhafaza etmemizi sağlar ve ayrıca kodun okunabilirliğini artırır. Geliştiriciler kendi özellik paketlerinde ayrı olarak çalışabilirler. Diğer geliştiricilerin oluşturduğu diğer sınıfların modifikasyonunu azaltır. Aslında, çatışmanın şansını azaltır. Zaman bizim için hayati faktörlerden biridir. PBF ayrıca belirli bir özellik için kodu bulmak için zamanı azaltır.

Peki Package Yapımızı nasıl ve ne üzerine kuracağız ?

  1. data [remote(api) and local(database, preference)data] 
  2. di [dependency injection(dagger)]
  3. common [facebook, google analytics, ffmpeg, xmpp]
  4. ui [feature, ui related stuff]
  5. service [firebase]
  6. receiver [boot]
  7. provider
  8. util
  9. constant

Önemli Not : Package yapınız boşluk ve büyük harf içermemelidir.

Yararlar:

Understandability – Anlaşılabilirlik : Herkes package yapınıza göre uygulamanın ne iş yaptığı kolaylıkla öğrenebilir.

Adding New Feature – Özellik Ekleme : Package yapınız ekibinize fikir vereceğinden yeni özellikler eklenmesi konusunda işlerini kolaylaştıracaktır.

Deleting Feature – Özellik Çıkarma : Bir özellik silmeniz gerektiğinde rahatça package yapısını silebileceksiniz. Birbirinden bağımsız bir yapı kuracağınızdan artık daha rahat ve korkusuz işler yapabileceksiniz.

Code Navigation and Modularity : Kodlar arasında kolayca gezinebiliriz. Ayrıca, bir programın işlevselliğini bağımsız, birbiriyle değiştirilebilir modüllere ayırmayı vurgulayan projenin modülerliğini artırır.

Scalability – Ölçeklenebilirlik : Projenin ölçeklenebilirliğini arttırır. Projeyi kolayca ölçekleyebilir ve küçültebiliriz.

Reusability – Yeniden Kullanılabilirlik : Her projede, özellikler genelinde yeniden kullanılacak bazı ortak kodlar bulunur. Bu ortak kodu, özellik paketinde bulunan paylaşılan paket içinde tutabiliriz.

Kazanımlar:

  • Higher modularity;   –> Yüksek modülerlik
  • Easier code navigation; –> Daha kolay kod gezintisi
  • Higher level of abstraction; –> Yüksek seviyede soyutlama
  • Separates both features and layers; –> Katman ve Özellikleri ayırma
  • More readable and maintainable structure; –> Daha fazla okunabilir ve  sürdürülebilir yapı
  • More cohesion; –> Uyum sağlama
  • Much easier to scale; –> Daha kolay ölçeklenebilirlik
  • Much easier to add or remove application features; –> Uygulamanın yeni özellikleriyle ilgili işlemleri daha kolay yapma
  • And much more reusable modules. –> Yeniden kullanılabilir daha fazla modüle sahipsiniz.

Yazar: umiitkose

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir