Yazılım mühendisliği ilkeleri

Vaka Çalışması: Python ile Yazılım Geliştirme

Mark Pedigo

Principal Data Scientist

Yol haritası

Projenin hangi kısımlarını bitirdiğimizi ve hangilerine başlayacağımızı gösteren yol haritası.

Vaka Çalışması: Python ile Yazılım Geliştirme

Modülerlik

Modülerlik: Temel yazılım mühendisliği ilkesi

  • Ayrık, bağımsız modüller
  • Odaklı, belirli işlevler
  • Net, iyi tanımlı arayüzler
  • Geliştirme, test, bakım ayrımı
Vaka Çalışması: Python ile Yazılım Geliştirme

DRY ilkesi

"Kendini Tekrar Etme" (DRY): Temel yazılım mühendisliği ilkesi

  • Tekrarı en aza indir
  • Yeniden kullanılabilir bileşenler, sınıflar
  • Bir kez yaz, genişçe paylaş
  • Temiz, bakımı kolay, daha az hataya açık kod
Vaka Çalışması: Python ile Yazılım Geliştirme

Paketleme

Paketleme: Temel yazılım mühendisliği ilkesi

  • Düzenli klasör hiyerarşisi
  • Kodu verimli yönet ve yapılandır
  • Modül başlatma için __init__.py dosyası
Vaka Çalışması: Python ile Yazılım Geliştirme

Paket oluşturma

  • En az yapı: paket klasörü + Python dosyası
  • Paket: klasör + __init__.py dosyası
  • Kısa, küçük harfli ve alt çizgili dizin adları
  • __init__.py: Klasörü paket olarak tanımlar
Vaka Çalışması: Python ile Yazılım Geliştirme

Mutlak ve göreli içe aktarma

  • Diyelim ki aşağıdaki proje yapısına sahipsin
project \
   |--- package
   |    |--- module1.py
   |    |--- module2.py
   |--- main.py
  • Mutlak İçe Aktarma: Kökten tam yol
    • from package import module1
    • from package.module1 import function
  • Göreli İçe Aktarma: Mevcut konuma göre yol (. = mevcut, .. = üst)
    • from . import module1
    • from .module1 import function
  • Mutlak: Net, ama daha az taşınabilir
  • Göreli: Esnek, bağlama bağlı
Vaka Çalışması: Python ile Yazılım Geliştirme

Hadi pratik yapalım!

Vaka Çalışması: Python ile Yazılım Geliştirme

Preparing Video For Download...