Refactoring 101: IndexMaker

Lisans döneminden kalma ödev, not, proje dokümanlarını kurcalıyorum son birkaç gündür. Arşivimi temizlemek ve taşımak vesilesiyle giriştiğim bu yolda o kadar güzel içerikler edindim ki, hala hayret ediyorum.

Tahminimce 2010 yılında yazdığım, baktıkça bu güne dek ne kadar yol katettiğimi gördüğüm bir proje IndexMaker.

O zamandan bu zamana neler öğrenmişim, neleri yanlış yapmışım hepsini sizlerle paylaşabileceğim çok güzel bir case-study olacak.

Refactoring 101, bir yazı dizisi olsun isterim. Adım adım yaptığım iyileştirmeleri tek tek açıklayarak paylaşacağım.

Dizinin özeti, kabaca aşağıdaki gibi.

Use-case: Windows işletim sisteminin kullandığı dosya sistemi için bir gezgin yazmak istiyoruz. Bu uygulamayı yazdığım dönemde içerik arşivciliği çok yaygındı. Filmler, diziler, müzikler harddisklerde saklanır ve paylaşılırdı. Haliyle kendi içeriğini ve kimde hangi içeriklerin olduğunu listelemek ciddi bir problemdi. Bu probleme çözüm amaçlı böyle bir uygulama geliştirmişim zamanında.

O zamanlardan kalan blog postu da burada.

Neler göreceğiz:

  • SOLID Principles
  • Domain Driven Design
  • Clean Architecture
  • .Net Core Web API projesi geliştirme
  • .Net Core MVC projesi geliştirme
  • Aklıma gelmeyen ama refactor ederken değineceğim daha nice şirinlikler!

Bir yazılım geliştiricinin bilmesi gereken pek çok konuyu bu uygulama üzerinde paylaşmış olmayı umuyorum.

Sorular ve öneriler geldikçe, daha da gelişeceğinden şüphem yok.

2010 yılında yazdığım kodu da içeren Github repository’sine ait linke de buradan erişebilirsiniz.

Her release çıkardığımda yaptığım iyileştirmeleri detaylı olarak aktaran bir ReadMe dosyası ile birlikte yeni bir klasör altında solution’ı bu repodan paylaşıyor olacağım.

Güzel ve yararlı bir dizi olmasını dilerim.

Sıradaki yazı, Refactoring 101: Isolation

Leave a Reply

Your email address will not be published. Required fields are marked *