Type Aliases Nedir?

Tuğçe Aras
2 min readOct 13, 2022

--

Selamlar 👋, Bugünkü konumuz Type Aliases ‘ın ne olduğu ve nasıl kullanıldığı ile ilgili. Kısa bir konu olduğundan gelin hemen başlayalım ✨

🔹 Type Aliases Nedir ?

  • Proje genelinde kullandığımız yapıların (sınıf gibi) isimleri eğer uzunsa onları daha kısa bir hale getirmemize ve çağrıldıkları yerlerde kısaltılmış ismiyle kullanmamıza olanak sağlayan bir yapıdır.
  • “typealias” keyword’ü kullanılır.
  • Kodun okunabilirliğini arttırır.
  • Refactor ile de isim değişikliği yapılabilir. Ancak typealias daha pratik olanıdır.

NOT: Refactor ile isim değişikliğinde isim komple değişir, değiştirilen isim üzerinden işlemler yapılır. Artık eski ismi kullanılmaz.

Ancak typealias kullanımında ister yeni kısalttığınız ismi isterseniz de eski ismini kullanabilirsiniz. Takma isim olarak düşünebiliriz typealias’ı.

Yapısına bakacak olursak :

Örnekten ilerleyecek olursak;

  • “InformationAboutCompanyEmployeesVM” adında bir sınıfımız bulunmakta ve ismi uzun olduğundan dolayı yukarıda typealias ile daha kısa bir isme map‘leme işlemini gerçekleştirdik.
  • Bundan sonrasında bu sınıf ile ilgili herhangi bir işlem olduğunda InformationAboutCompanyEmployeesVM değil de “EmployeeInfoVM” ismi ilgili yerlerde kullanılacak.
  • Bu işlemi gerçekleştirdiğimizde arka planda EmployeeInfoVM adında bir sınıf oluşmaz. Show Kotlin ByteCode ile de bunu görebilirsiniz.
  • Eğer typealias kullanılmasaydı şu şekilde gözükecekti kodumuz:

Genelde bir değişken oluşturulacağı zaman sınıf ismi neyse ona göre oluşturulur. Bu şekilde kullanım okunaklığı da bozmaktadır.

  • Type Alias top level olarak kullanılmaktadır. Nested ya da local olarak tanımlanamamaktadır. Tanımladığınızda hata aldığınızı göreceksiniz. Ayrıca top level kullanılmasının nedeni o yapının başka yerlerde de kısa ismiyle kullanılmasını sağlamaktır. Eğer local ya da nested olarak tanımlanabilseydi bu durumda kullanımının çok bir anlamı olmaz ve bazı yerlerde kendi orijinal ismiyle bazı yerlerde de kısaltılmış haliyle çağrılırdı ki bu da kullanımı karışık hale getirirdi.
  • Bunun dışında Generic’ler ile de kullanılabilmektedir. Örnek ile açıklayalım :

Elimizde UserInfo adında generic bir yapımız olsun. Biz bu yapıyı typealias ile kısaltmadan önce şu şekilde kullanılacaktı:

Başka yerlerde de bu yapının çağrılacağını düşünürsek ve verdiğim örnekten daha da uzun bir isme sahipse okunaklık bozulacaktır. Ancak şu şekilde kullanıldığında:

Daha okunabilir hale gelmektedir.

gif kaynak: Looney Tunes Nothing To See Here GIF — Find & Share on GIPHY (2022). Available at: https://giphy.com/gifs/the-end-thats-all-folks-lD76yTC5zxZPG

--

--

Tuğçe Aras
Tuğçe Aras

Written by Tuğçe Aras

Android Developer at Şekerbank T.A.Ş. 💻💚 | https://bio.link/tugcearas

No responses yet