Reklam

Programlamada Refactoring nedir? Refactoring.guru Ne İşe Yarar?

Refactoring nedir? Ne işe yarar? Refactoring.guru nedir?
Merhabalar, bu yazımda yazılım dünyasının önemli başlıklarından biri olan refactoring üzerinde durararak şu sorulara cevap bulmaya çalışacağım: Refactoring nedir? Refactoring ne işe yarar? Refactoring.guru nedir ve neyi amaçlar?

Bu yazımın ardından Refactoring.guru üzerinden tasarım kalıplarını ele alacağım. Hazırsanız başlayalım.

Yazılım Geliştirme Yaşam Döngüsü (SDLC) Modelleri Nelerdir?

Yazılım Geliştirme Yaşam Döngüsü (SDLC) Modelleri Nelerdir?

Bir yazılım ortaya konarken pek çok farklı yöntem izlenebilmektedir. Yazılım geliştirme yaşam döngüleri olarak karşılık bulmuş bu yöntemler amaçlarına ve işleyiş şekillerine göre birbirlerinden ayrılabilmektedir. Bu yazımızda SDLC (Software Development Life Cycle) kavramı üzerinde duracağız. SDLC’nin ne olduğundan ve ne tür örnekleri olduğundan, yazılım geliştirme yaşam döngülerinin neler olduğundan örnekler verererk bahsedeceğiz.

  • 9.01.2023

Refactoring nedir?

Refactoring, yazılım tasarımı ya da bilgisayar programlama alanlarındaki kodların ana işlevi korunacak şekilde tekrardan tasarlanması ve yapılandırılmasıdır. Refactoring teknikleriyle bir program veya yazılım içerisinde ufak kod değişiklikleri yapılarak “code smell” olarak da tanımlanan kötü kodların oluşturabileceği etkiler minimize edilir.

Refactoring kavramının babası olarak tarif edilen Martin Fowler [1], Refactoring: Improving the Design of Existing Code isimli kitabında zayıf tasarlanmış programlar için refactoring tekniklerine dair pratikler sunmaktadır.

Refactoring Ne İşe Yarar?

Refactoring programın ana fonksiyonuna müdahale etmez. Programın okunabilirliğini, anlaşılabilirliğini, tekrardan kullanılabilmesini sağlamak amacıyla programdaki pürüzleri belirli tasarım kalıplarına bağlı kalarak düzeltmeye yarar.   

Refactoring Neyi Amaçlar?

Programcıların imdadına yetişen refactoring şu amaçlarla kullanılmaktadır:

  1. Bağımlılıkları ve karmaşıklıkları azaltarak anlaşılabilir kod yazmak.
  2. Kodlardaki hataları ve güvenlik açıklarını tespit edip düzeltmek.
  3. Bellek kullanımını iyileştirmek. Kötü kodlar nedeniyle bellekte kullanılan gereksiz alanları boşaltarak ölçeklenebilir bir program ya da yazılım oluşturmak.
  4. Okunabilir ve tekrardan kullanılabilir kodlar yazmak.

Refactoring.guru Nedir?

Refactoring.guru, yazılım ve programlamadaki temellerden olan yeniden düzenleme (refactoring) ve tasarım kalıpları (design patterns) kavramlarına dair derinlemesine bir kaynak oluşturmayı amaçlayan bir web sayfasıdır.

Refactoring.guru’nun web sayfasında refactoring ve design patterns kavramları detaylıca anlatılırken hem açıklayıcı illüstrasyonlar hem de örnek kod parçalarından yararlanılmaktadır ki bu anlaşılabilirliği oldukça artırmaktadır.

Refactoring.guru nedir?

Reklam

Kod Kokusu (Code Smell) Nedir?

Code smell, refactoring işlemleri sırasında çözülebilecek problemleri gösteren kod belirteçleridir. Kod kokuları olarak Türkçeye çevirebileceğimiz code smells, kolayca tespit edilip düzeltilebilecek kod blokları olsalar da etkileri çok büyük olabilir. Bir programın bütünüyle durmasına sebep olabilmesi gibi.

Programlamada Tasarım Kalıbı (Design Pattern) Nedir?

Tasarım kalıpları (Design patterns), yazılım dünyasında karşılaşılan belli başlı sorunlara karşı üretilen tipik çözümlere denir. Tasarım kalıpları pek çok yazılım geliştiricisi için ortak bir anlaşma dilidir.

Tasarım kalıpları adı üstünde bir kalıp sağlar. Yani direk bir sorunun çözümünü kod olarak vermez. Aksine tasarım kalıplarının takip edilerek kodlara entegre edilmesi ve sorunun böylelikle çözülmesi beklenir.

Bu yazımda refactoring kavramından, refactoring’in amaçlarının neler olduğundan, refactoring’in ne işe yaradığından ve refactoring.guru web sitesinin ne olduğundan bahsettim. Aynı zamanda sonraki yazılarımda ele almayı planladığım code smell ve design patterns kavramlarına da yüzeysel olarak değindim. Umarım faydalı olmuştur. Yeni yazılarımda görüşmek üzere.

Ömer Faruk Coşkun - ÖFC
Ömer Faruk Coşkun

İstanbul Üniversitesi-Cerrahpaşa Bilgisayar Mühendisliği öğrencisiyim. Araştırmayı, öğrenmeyi ve aynı zamanda öğrendiklerimi paylaşmayı seviyorum.

Yorumlar

Belirli sürede gönderebileceğinizden fazla yorum gönderdiniz. Bir süre bekleyiniz.
Belirli sürede gönderebileceğinizden fazla yorum gönderdiniz. Bir süre bekleyiniz.
Belirli sürede gönderebileceğinizden fazla yorum gönderdiniz. Bir süre bekleyiniz.
Yorumunuz başarılı bir şekilde gönderilmiştir. Teşekkür ederiz.
Yorumunuz gönderilirken bir hata meydana geldi. Lütfen daha sonra tekrar deneyin. Sorun devam ederse lütfen bizimle iletişime geçin.

İlk yorumu paylaşan siz olun.

Reklam