มีแท็ก javadoc สำหรับทำเอกสารพารามิเตอร์ประเภททั่วไปหรือไม่?


165

ฉันได้ดูเอกสาร javadoc บนเว็บไซต์ของ Sun พยายามค้นหาว่ามีแท็ก javadoc ซึ่งสามารถใช้ในการจัดทำเอกสารประเภทลายเซ็นทั่วไปของคลาสหรือวิธีการได้หรือไม่

สิ่งที่ชอบ@typeparamคล้ายกับปกติ@paramแต่ที่ใช้บังคับกับประเภทเช่นเดียวกับวิธีเช่น

/**
 *  @typeparam T This describes my type parameter
 */
class MyClass<T> {
}

ฉันสงสัยว่าไม่มีแท็กดังกล่าว - ฉันไม่สามารถพูดถึงมันได้ทุกที่และเอกสาร JavaSE API ไม่แสดงเครื่องหมายใด ๆ แต่ดูเหมือนว่าจะไม่สนใจเลย ใครบางคนทำให้ฉันใช่ไหม


7
หากต้องการเขียน javadocs ที่เหมาะสม
Timo Willemsen

2
โปรดทราบว่าสำหรับคลาสส่วนใหญ่ไม่มีอะไรน่าสนใจที่จะพูดเกี่ยวกับพารามิเตอร์ type เนื่องจากพารามิเตอร์ type นั้นถูกกำหนดโดยวิธีการที่ปรากฏในวิธีการของวัตถุ ฉันจะข้าม@param <T>เวลาส่วนใหญ่และใช้เฉพาะเมื่อมันไม่ชัดเจนจริงๆ
Kevin Bourrillion

3
ฉันเห็นสิ่งที่คุณพูด แต่ด้วยเหตุผลนั้นเช่นเดียวกันกับการใช้@paramพารามิเตอร์ method มาตรฐานการเข้ารหัสของ Sun บอกอย่างชัดเจนว่า@paramควรใช้แม้ว่าความหมายของพารามิเตอร์ method จะชัดเจน
skaffman

3
นอกจากนั้น การเขียนโปรแกรม API ที่ดีควรจัดทำเป็นเอกสารด้วยตนเองเท่าที่จะทำได้ นั่นหมายความว่า api ไม่ต้องการเอกสารหรือไม่ ไม่
Timo Willemsen

เอกสาร @paramให้คำแนะนำสำหรับพารามิเตอร์ชนิด โปรดทราบว่า Oracle สามารถทำงานโฆษณาเอกสารนี้ได้ดีขึ้น
Michael Allan

คำตอบ:


235

มันควรจะทำเช่นนี้:

/**
 * @param <T> This describes my type parameter
 */
class MyClass<T>{

}

แหล่ง


6
Doh .... ตกลงเห็นได้ชัดว่าน่าอาย ... มันถามคำถามว่าทำไมคลาส JavaSE (เช่นCollection) ไม่ใช้มัน
skaffman


9
@skaffman บิตปลายแน่นอน แต่มันก็ทำให้เกิดคำถามที่ว่ามันไม่ได้ขอคำถาม
Thor84no

6
@ Thor84no จากลิงก์ของคุณ: เจ้าหน้าที่บางคนคิดว่าการใช้ "ขอให้คำถาม" เป็นวิธีการพูดว่า "ทำให้คำถาม" หรือ "หลีกเลี่ยงคำถาม" นั้นไม่ผิดอีกต่อไปเพราะมันได้รับการใช้งานที่กว้างขวางเช่นนี้
Matt R

8
มันเป็นความอัปยศของ IntelliJ ที่สมบูรณ์เหมือน HTML ในกรณีนี้
Snicolas

27

ใช่. เพียงใช้แท็ก @param และรวมวงเล็บมุมไว้รอบ ๆ พารามิเตอร์ type

แบบนี้:

/**
 *  @param <T> This describes my type parameter
 */
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.