คุณจะรู้ได้อย่างรวดเร็วว่า JDK8 นั้นเข้มงวดกว่ามาก (โดยค่าเริ่มต้น) เมื่อพูดถึง Javadoc ( ลิงค์ - ดูหัวข้อย่อยสุดท้าย)
หากคุณไม่เคยสร้าง Javadoc ใด ๆ เลยแน่นอนว่าคุณจะไม่ประสบปัญหาใด ๆ แต่สิ่งต่างๆเช่นกระบวนการเผยแพร่ Maven และการสร้าง CI ของคุณอาจล้มเหลวในทันทีที่พวกเขาทำงานได้ดีกับ JDK7 ทุกสิ่งที่ตรวจสอบค่าออกของเครื่องมือ Javadoc จะล้มเหลวในขณะนี้ JDK8 Javadoc น่าจะเป็น verbose มากกว่าwarnings
เมื่อเทียบกับ JDK7 แต่นั่นไม่ใช่ขอบเขตที่นี่ เรากำลังพูดถึงerrors
!
คำถามนี้มีขึ้นเพื่อรวบรวมข้อเสนอเกี่ยวกับสิ่งที่ต้องทำ แนวทางที่ดีที่สุดคืออะไร? ข้อผิดพลาดเหล่านี้ควรได้รับการแก้ไขเพียงครั้งเดียวในไฟล์ซอร์สโค้ดหรือไม่ หากคุณมีฐานรหัสขนาดใหญ่สิ่งนี้อาจใช้งานได้มาก มีตัวเลือกอะไรอีกบ้าง?
นอกจากนี้คุณยังสามารถแสดงความคิดเห็นเกี่ยวกับสิ่งที่ล้มเหลวซึ่งก่อนหน้านี้จะผ่านไปได้
เรื่องราวสยองขวัญของสิ่งที่ล้มเหลวในตอนนี้
wsimport เครื่องมือ
wsimport
เครื่องมือเป็นตัวสร้างโค้ดสำหรับสร้างผู้ใช้บริการเว็บ รวมอยู่ใน JDK แม้ว่าคุณจะใช้wsimport
เครื่องมือจาก JDK8 แต่อย่างไรก็ตามมันจะผลิตรหัสที่มาที่ไม่สามารถรวบรวมกับคอมไพเลอร์ Javadoc จาก JDK8
แท็ก @author
ฉันกำลังเปิดไฟล์ซอร์สโค้ดอายุ 3-4 ปีและเห็นสิ่งนี้:
/**
* My very best class
* @author John <john.doe@mine.com>
*/
ตอนนี้ล้มเหลวเนื่องจากอักขระ < การพูดอย่างเคร่งครัดนี้เป็นสิ่งที่ชอบธรรม แต่ไม่น่าให้อภัย
ตาราง HTML
ตาราง HTML ใน Javadoc ของคุณ? พิจารณา HTML ที่ถูกต้องนี้:
/**
*
* <table>
* <tr>
* <td>Col1</td><td>Col2</td><td>Col3</td>
* </tr>
* </table>
*/
no summary or caption for table
ตอนนี้ล้มเหลวด้วยข้อผิดพลาด การแก้ไขด่วนอย่างหนึ่งคือทำดังนี้
/**
*
* <table summary="">
* <tr>
* <td>Col1</td><td>Col2</td><td>Col3</td>
* </tr>
* </table>
*/
แต่ทำไมสิ่งนี้ต้องเป็นข้อผิดพลาดที่หยุดโลกจากเครื่องมือ Javadoc เอาชนะฉัน ??
สิ่งที่ล้มเหลวในตอนนี้ด้วยเหตุผลที่ชัดเจนมากขึ้น
- ลิงก์ไม่ถูกต้องเช่น
{@link notexist}
- HTML ผิดรูปแบบเช่น
always returns <code>true<code> if ...
อัปเดต
ลิงค์:
ยอดเยี่ยมบล็อกเกี่ยวกับเรื่องนี้โดยสตีเฟ่น Colebourne