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:
@Deprecated
Yö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() {
// ...
}
reason
varsayılan değeri olan başka bir özellik eklemek ""
zarar
@deprecated
açıklamada mesajı eklenebilir @Deprecated
... (hepsini düzeltmek için tek bir noktada)
Hem @Deprecated
ek açıklama hem de @deprecated
JavaDoc etiketini kullanın .
@deprecated
Javadoc etiketi dokümantasyon amaçlı kullanılır.
@Deprecated
Açıklama yöntemi kaldırılmış olduğu derleyici bildirir. Sun / Oracles belgesinde konuyla ilgili olarak şunları yazıyor:
@Deprecated
Bir 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,@deprecated
Sun 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,@Deprecated
uyarı oluşturmak için ek açıklamayı kullanmak@deprecated
Javadoc etiketine dayanmaktan daha portatiftir .
Belgenin tamamını API'leri Nasıl ve Ne Zaman Kullanımdan Kaldırmak için bulabilirsiniz
@deprecated
Javadoc 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 @Deprecated
benzer 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:
@Deprecated
Ek açıklamayı yönteme ekleyin ve@deprecated
yö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.