Yanıtlar:
İlk forma Javadoc denir . Kodunuz için javadoc
araç tarafından oluşturulan resmi API'ları yazarken bunu kullanırsınız . Örnek olarak, Java 7 API sayfası Javadoc kullanır ve bu araç tarafından oluşturulur.
Javadoc'ta göreceğiniz bazı ortak öğeler şunlardır:
@param
: bu, bir yönteme hangi parametrelerin iletildiğini ve hangi değere sahip olmaları gerektiğini belirtmek için kullanılır
@return
: bu, yöntemin hangi sonucu vereceğini belirtmek için kullanılır
@throws
: Bu, belirli bir giriş durumunda bir yöntemin istisna veya hata verdiğini belirtmek için kullanılır
@since
: Bu, bu sınıfın veya işlevin kullanılabildiği en eski Java sürümünü belirtmek için kullanılır
Örnek olarak, şu compare
yöntem için Javadoc Integer
:
/**
* Compares two {@code int} values numerically.
* The value returned is identical to what would be returned by:
* <pre>
* Integer.valueOf(x).compareTo(Integer.valueOf(y))
* </pre>
*
* @param x the first {@code int} to compare
* @param y the second {@code int} to compare
* @return the value {@code 0} if {@code x == y};
* a value less than {@code 0} if {@code x < y}; and
* a value greater than {@code 0} if {@code x > y}
* @since 1.7
*/
public static int compare(int x, int y) {
return (x < y) ? -1 : ((x == y) ? 0 : 1);
}
İkinci form bir blok (çok satırlı) yorumdur. Bir yorumda birden çok satır olmasını istiyorsanız bunu kullanırsınız.
İkinci formu sadece idareli kullanmak isteyeceğinizi söyleyeceğim ; başka bir deyişle, yöntemin / karmaşık işlevin sahip olması gereken davranışları açıklamayan blok yorumlarıyla kodunuzu fazla yüklemek istemezsiniz.
Javadoc ikisi arasında daha açıklayıcı olduğundan ve bunu kullanmanız sonucunda gerçek belgeler oluşturabildiğiniz için Javadoc'u kullanmak basit blok yorumlarına daha çok tercih edilir.
Java için programlama dili vardır fark ikisi arasında. Java'nın iki tür yorumu vardır: geleneksel yorumlar ( /* ... */
) ve satır sonu yorumları ( // ...
). Java Dil Belirtimi'ne bakın . Yani, Java programlama dili için, hem /* ... */
ve /** ... */
yani geleneksel yorumların örnekleri olan ve ikisi de Java derleyici tarafından aynen kabul edilir, bunlar göz ardı edilir (: onlar beyaz boşluk olarak kabul edilir ya da daha doğru bir).
Ancak, bir Java programcısı olarak yalnızca bir Java derleyicisi kullanmazsınız. Derleyici, IDE, derleme sistemi vb. İçeren tüm bir araç zincirini kullanırsınız. Bu araçların bazıları işleri Java derleyicisinden farklı şekilde yorumlar. Özellikle /** ... */
yorumlar, Java platformuna dahil edilen ve dokümantasyon oluşturan Javadoc aracı tarafından yorumlanır . Javadoc aracı Java kaynak dosyasını tarar ve aralarındaki /** ... */
belgeleri belge olarak yorumlar.
Bu, FIXME
ve gibi etiketlere benzer TODO
: // TODO: fix this
veya gibi bir yorum eklerseniz // FIXME: do that
, çoğu IDE bu yorumları vurgular, böylece bunları unutmazsınız. Ama Java için bunlar sadece yorumlar.
javadoc
araç bir şeyi yorumlayamaz.
JLS'nin 3.7 bölümünü okumak, Java'daki yorumlar hakkında bilmeniz gereken her şeyi açıklar.
İki tür yorum vardır:
- /* Metin */
Geleneksel bir yorum: ASCII karakterlerinden / * 'dan ASCII karakterlerine * / tüm metinler yok sayılır (C ve C ++' da olduğu gibi).
- //Metin
Satır sonu yorumu: ASCII karakterlerinden // satır sonuna kadar olan tüm metinler yoksayılır (C ++ 'da olduğu gibi).
Sorunuz hakkında,
İlki
/**
*
*/
Javadoc Teknolojisini ilan etmek için kullanılır .
Javadoc, bir dizi kaynak dosyada bildirimleri ve belge yorumlarını ayrıştıran ve sınıfları, arabirimleri, yapıcıları, yöntemleri ve alanları tanımlayan bir dizi HTML sayfası üreten bir araçtır. Javadoc çıktısını özelleştirmek için bir Javadoc dokümanı kullanabilirsiniz. Doclet, Doclet API ile yazılmış ve araç tarafından oluşturulacak çıktının içeriğini ve biçimini belirten bir programdır. HTML, SGML, XML, RTF ve MIF gibi her türlü metin dosyası çıktısı oluşturmak için bir doküman yazabilirsiniz. Oracle, HTML biçimli API belgeleri oluşturmak için standart bir belge sunar. Kitapçıklar ayrıca API belgeleri üretmeyle ilgili olmayan özel görevleri gerçekleştirmek için de kullanılabilir.
Hakkında daha fazla bilgi Doclet
için API'ya bakın .
İkincisi, JLS'de açıkça açıklandığı gibi, arasındaki tüm metni göz ardı eder /*
ve */
bu nedenle çok satırlı yorumlar oluşturmak için kullanılır.
Java'daki yorumlar hakkında bilmek isteyebileceğiniz diğer bazı şeyler
/* and */
ile başlayan yorumlarda özel bir anlamı yoktur //
.//
ile başlayan yorumlarda özel bir anlamı yoktur /* or /**
.Bu nedenle, aşağıdaki metin tek bir tam yorumdur:
/* this comment /* // /** ends here: */
Mevcut cevapların sorunun bu kısmını yeterince ele aldığını düşünmüyorum:
Ne zaman kullanmalıyım?
Kuruluşunuzda yayınlanacak veya yeniden kullanılacak bir API yazıyorsanız, public
sınıf dışı protected
yöntemlerin ve alanların yanı sıra her sınıf, yöntem ve alan için kapsamlı Javadoc yorumları yazmalısınız final
. Javadoc herşeyi karşılar olamaz vb ön koşullardan, Hedefşartlar, geçerli argümanlar, çalışma zamanı istisnaları, iç çağrılarını yöntem imzası ile aktarılacak,
Dahili bir API (aynı programın farklı bölümleri tarafından kullanılan) yazıyorsanız, Javadoc tartışmasız daha az önemlidir. Ancak bakım programcılarının yararı için, doğru kullanım veya anlamın hemen belirgin olmadığı herhangi bir yöntem veya alan için Javadoc yazmalısınız.
Javadoc'un "katil özelliği" Eclipse ve diğer IDE'lerle yakından entegre olmasıdır. Bir geliştiricinin fare işaretçisini bir tanımlayıcı üzerine getirmesi yeterlidir. Belgelere sürekli atıfta bulunmak, deneyimli Java geliştiricileri için kendi kodlarının kalitesini artıran ikinci doğa haline gelir. API'niz Javadoc ile belgelenmemişse, deneyimli geliştiriciler onu kullanmak istemeyecektir.
Aşağıdaki Java Kodu listesindeki yorumlar gri renkte olan karakterlerdir:
/**
* The HelloWorldApp class implements an application that
* simply displays "Hello World!" to the standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); //Display the string.
}
}
Java dili üç tür yorumu destekler:
/* text */
Derleyici, /*
ile arasındaki her şeyi yok sayar */
.
/** documentation */
Bu bir doküman yorumunu gösterir (kısaca doküman yorumu). Derleyici, bu tür yorumları yok sayar /*
ve tıpkı ve gibi yorumları yok sayar */
. JDK javadoc aracı, otomatik olarak oluşturulan belgeleri hazırlarken doktor yorumlarını kullanır.
// text
Derleyici //
satırın sonuna kadar her şeyi yok sayar .
Şimdi ne zaman kullanmanız gerektiğiyle ilgili:
// text
Tek bir kod satırına yorum yapmak istediğinizde kullanın .
/* text */
Birden fazla kod satırına yorum yapmak istediğinizde kullanın .
/** documentation */
Program hakkında otomatik belge oluşturma için kullanılabilecek bazı bilgiler eklemek istediğinizde kullanın .
Birincisi, sınıfların, arayüzlerin, yöntemlerin vb. Üstünde tanımladığınız Javadoc içindir. Kodunuzu, sınıfın ne yaptığı veya hangi yöntemin vb.
İkincisi kod bloğu yorumu. Diyelim ki derleyicinin yorumlamasını istemediğiniz kod bloğunuz var ve kod bloğu yorumunu kullanıyorsunuz.
diğeri // ilerleyen kod satırlarının ne yapması gerektiğini belirtmek için ifade düzeyinde kullandığınız budur.
// TODO gibi başka şeyler de var, bu daha sonra o yerde bir şeyler yapmak istediğinizi işaret edecek
// FIXME, geçici bir çözümünüz olduğunda kullanabilirsiniz, ancak daha sonra ziyaret etmek ve daha iyi hale getirmek istediğinizde.
Bu yardımcı olur umarım
Java iki tür yorumu destekler:
/* multiline comment */
: Derleyici, /*
ile arasındaki her şeyi yok sayar */
. Yorum birden fazla satıra yayılabilir.
// single line
: Derleyici //
satırın sonuna kadar her şeyi yok sayar .
Javadoc gibi bazı araçlar , amaçları için özel bir çok satırlı yorum kullanır. Örneğin /** doc comment */
, otomatik olarak oluşturulan belgeleri hazırlarken javadoc tarafından kullanılan bir belge açıklamasıdır, ancak Java için bu çok satırlı basit bir yorumdur.
/** .. */
sadece düzenli çok satırlı bir yorumdur ve içindeki ilk karakter bir yıldız işareti olur.