Yöntemlerim "artık kullanılmıyor" = artık kullanılmaz yapmak istiyorum.
Ama yine de API'mda olmasını istiyorum. Sadece bu yöntemi kullanan herkese "uyarı" göstermek istiyorum.
Bunu nasıl başarabilirim?
Yöntemlerim "artık kullanılmıyor" = artık kullanılmaz yapmak istiyorum.
Ama yine de API'mda olmasını istiyorum. Sadece bu yöntemi kullanan herkese "uyarı" göstermek istiyorum.
Bunu nasıl başarabilirim?
Yanıtlar:
@DeprecatedYöntemde kullanın . Javadoc alanını netleştirmeyi unutmayın:
/**
* Does some thing in old style.
*
* @deprecated use {@link #new()} instead.
*/
@Deprecated
public void old() {
// ...
}
reasonvarsayılan değeri olan başka bir özellik eklemek ""zarar
@deprecatedaçıklamada mesajı eklenebilir @Deprecated... (hepsini düzeltmek için tek bir noktada)
Hem @Deprecatedek açıklama hem de @deprecatedJavaDoc etiketini kullanın .
@deprecatedJavadoc etiketi dokümantasyon amaçlı kullanılır.
@DeprecatedAçıklama yöntemi kaldırılmış olduğu derleyici bildirir. Sun / Oracles belgesinde konuyla ilgili olarak şunları yazıyor:
@DeprecatedBir sınıfı, yöntemi veya alanı kullanımdan kaldırmak için ek açıklamayı kullanmak, kod bu program öğesini kullandığında tüm derleyicilerin uyarı vermesini sağlar. Buna karşılık,@deprecatedSun derleyicilerinin şu anda yapmasına rağmen, tüm derleyicilerin her zaman Javadoc etiketine dayalı uyarılar vereceğine dair bir garanti yoktur . Diğer derleyiciler bu tür uyarıları veremez. Bu nedenle,@Deprecateduyarı oluşturmak için ek açıklamayı kullanmak@deprecatedJavadoc etiketine dayanmaktan daha portatiftir .
Belgenin tamamını API'leri Nasıl ve Ne Zaman Kullanımdan Kaldırmak için bulabilirsiniz
@deprecatedJavadoc etiketiyle (Java 4-'de) bir yöntemi işaretlediğinizde , derleyici yöntemi (sınıf, alan) kullanımdan kaldırılmış olarak işaretledi ve IDE'ler, kullanılabilir kaynak olmasa bile uyarılar gösterdi.
bazı küçük açıklamalar eksik olduğu için
Buna @Deprecatedbenzer yöntemde ek açıklama kullanın
/**
* @param basePrice
*
* @deprecated reason this method is deprecated <br/>
* {will be removed in next version} <br/>
* use {@link #setPurchasePrice()} instead like this:
*
*
* <blockquote><pre>
* getProduct().setPurchasePrice(200)
* </pre></blockquote>
*
*/
@Deprecated
public void setBaseprice(int basePrice) {
}
<br/>{@link #setPurchasePrice()}Yapabileceğiniz iki şey var:
@DeprecatedEk açıklamayı yönteme ekleyin ve@deprecatedyönteminin javadoc etiketHer ikisini de yapmalısın !
Bu konuda java belgelerinden alıntı :
J2SE 5.0 ile başlayarak, @Deprecated ek açıklamasını kullanarak bir sınıfı, yöntemi veya alanı kullanımdan kaldırmış olursunuz. Ayrıca, @deprecated Javadoc etiketini kullanarak geliştiricilere bunun yerine ne kullanacaklarını söyleyebilirsiniz.
Ek açıklamayı kullanmak, derlenmemiş sınıf, yöntem veya alan kullanıldığında Java derleyicisinin uyarı oluşturmasına neden olur. Derleyici, kullanımdan kaldırılmış bir derleme birimi kullanımdan kaldırılmış bir sınıf, yöntem veya alan kullanıyorsa kullanımdan kaldırma uyarılarını bastırır. Bu, uyarı oluşturmadan eski API'ler oluşturmanıza olanak tanır.
Yeni API'nın nasıl kullanılacağını açıklayan uygun yorumlarla Javadoc @ deprecated etiketini kullanmanız önemle tavsiye edilir. Bu, geliştiricilerin eski API'dan yeni API'ya uygulanabilir bir geçiş yoluna sahip olmasını sağlar
Ek açıklamayı @Deprecated yönteminiz için kullanın, ayrıca javadoclarınızda da belirtmelisiniz.