CodeBlanks Logo Icon CodeBlanks

@deprecated

@deprecated annotation'ını öğrenirsin.

@deprecated ile eskime

@deprecated bir metodun ya da sınıfın artık kullanılmaması gerektiğini belirtir. İki biçimi vardır: @deprecated (ileti yok) ve @Deprecated('neden') (ileti var).

Örnek: @Deprecated('yerine useNew() kullan') void oldApi() { ... }. Bu etiketi gören araçlar kullanıcıya bir uyarı gösterir.

Eskimiş bir API'yi kaldırmadan önce @deprecated ile işaretlemek iyi bir yöntemdir. Kullanıcılara geçiş süresi tanır.

Geçiş ve ileti

@Deprecated('mesaj') içindeki ileti, kullanıcıya ne yapması gerektiğini söyler. Örneğin @Deprecated('yerine fetchUser kullan') yeni yöntemi önerir.

Eskimiş bir metodu çağırdığında IDE üzerini çizer ve iletiyi gösterir. Yine de kod çalışır; yalnızca bir uyarıdır.

Tamamen kaldırmadan önce bir ya da iki sürüm @deprecated ile beklemek, kullanıcıların geçiş yapmasına olanak tanır.

Uygulama Eskimiş ve yeni metod

Bir Calculator sınıfı tanımla. İçinde @Deprecated('yerine add kullan') void oldAdd(int a, int b) metodu olsun; gövdesi print(a + b) olsun. Ayrıca void add(int a, int b) => print(a + b) metodu olsun. main içinde add(2, 3) çağır.

Başlangıç kodu

main.dart
// Calculator sınıfını tanımla
// oldAdd eskimiş metod, add yeni metod

void main() {
  // add metodunu çağır
}

Örnek çözüm

main.dart
class Calculator {
  @Deprecated('yerine add kullan')
  void oldAdd(int a, int b) {
    print(a + b);
  }
  void add(int a, int b) => print(a + b);
}

void main() {
  Calculator().add(2, 3);
}

Beklenen çıktı

5

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 @deprecated ne işaretler?

  • Eskimiş bir API'yi Doğru cevap
  • Yeni bir özelliği
  • Bir hatayı
  • Bir testi

Açıklama: @deprecated eskimiş API'yi işaretler.

2 @Deprecated iletisi

Soru
@____('yerine useNew() kullan')
void oldApi() {}
Cevap
@Deprecated('yerine useNew() kullan')
void oldApi() {}

Açıklama: iletili biçim Deprecated ile başlar.

3 @deprecated parçaları

Kavram Anlamı
@deprecated İletisiz eskime
@Deprecated('...') İletili eskime
useNew() Önerilen yeni metod
oldApi() Eskimiş metod

Orta seviye bölümündeki tüm dersler