ฉันควรใช้คำอธิบายประกอบ @NotNull Java ใด
ฉันต้องการทำให้โค้ดของฉันอ่านง่ายขึ้นรวมถึงใช้เครื่องมือเช่นการตรวจสอบรหัส IDE และ / หรือการวิเคราะห์รหัสแบบคงที่ (FindBugs และ Sonar) เพื่อหลีกเลี่ยง NullPointerExceptions เครื่องมือจำนวนมากดูไม่เข้ากันกับ@NotNull/ @NonNull/ / @Nonnullหมายเหตุประกอบของแต่ละคนและการแสดงรายการทั้งหมดในรหัสของฉันจะอ่านได้แย่มาก คำแนะนำใดที่ 'ดีที่สุด'? นี่คือรายการคำอธิบายประกอบที่เทียบเท่าที่ฉันพบ: javax.validation.constraints.NotNull สร้างขึ้นสำหรับการตรวจสอบความถูกต้องรันไทม์ไม่ใช่การวิเคราะห์แบบคงที่ เอกสาร edu.umd.cs.findbugs.annotations.NonNull ใช้โดยFindBugsวิเคราะห์แบบคงที่และดังนั้นจึง Sonar (ตอนนี้Sonarqube ) เอกสาร javax.annotation.Nonnull สิ่งนี้อาจใช้ได้กับ Findbugs ด้วยเช่นกัน แต่JSR-305ไม่ได้ใช้งาน (ดูเพิ่มเติม: อะไรคือสถานะของ JSR 305? ) แหล่งที่มา org.jetbrains.annotations.NotNull ใช้โดย IntelliJ IDEA IDE สำหรับการวิเคราะห์แบบคงที่ เอกสาร lombok.NonNull ใช้ในการควบคุมการสร้างรหัสในโครงการลอมบอก คำอธิบายประกอบตัวยึดเนื่องจากไม่มีมาตรฐาน แหล่งที่มา , เอกสาร …