ผมอยากจะทำวิธีใดวิธีหนึ่งฉัน "เลิก" = ไม่ได้ใช้อีกต่อไป
แต่ฉันก็ยังอยากได้มันใน API ของฉัน ผมแค่อยากจะแสดง "เตือน" เพื่อทุกคนที่ใช้วิธีการที่
ฉันจะบรรลุสิ่งนั้นได้อย่างไร
ผมอยากจะทำวิธีใดวิธีหนึ่งฉัน "เลิก" = ไม่ได้ใช้อีกต่อไป
แต่ฉันก็ยังอยากได้มันใน API ของฉัน ผมแค่อยากจะแสดง "เตือน" เพื่อทุกคนที่ใช้วิธีการที่
ฉันจะบรรลุสิ่งนั้นได้อย่างไร
คำตอบ:
ใช้@Deprecatedวิธีการ อย่าลืมเกี่ยวกับการชี้แจงฟิลด์ javadoc:
/**
* Does some thing in old style.
*
* @deprecated use {@link #new()} instead.
*/
@Deprecated
public void old() {
// ...
}
reasonมีค่าเริ่มต้นของ""ไม่สามารถเจ็บ
@deprecatedข้อความในความคิดเห็นสามารถเพิ่ม@Deprecated(จุดเดียวที่จะแก้ไขพวกเขาทั้งหมด) ...
ใช้@Deprecatedคำอธิบายประกอบและ@deprecatedแท็ก JavaDoc
@deprecatedแท็ก JavaDoc ใช้สำหรับวัตถุประสงค์เอกสาร
@Deprecatedคำอธิบายประกอบคอมไพเลอร์แนะว่าวิธีการที่จะเลิก นี่คือสิ่งที่กล่าวในเอกสารของ Sun / Oracles ในหัวข้อ:
การใช้
@Deprecatedคำอธิบายประกอบเพื่อคัดค้านคลาสเมธอดหรือฟิลด์ทำให้แน่ใจว่าคอมไพเลอร์ทั้งหมดจะออกคำเตือนเมื่อรหัสใช้องค์ประกอบของโปรแกรมนั้น ในทางตรงกันข้ามไม่มีการรับประกันว่าคอมไพเลอร์ทั้งหมดจะออกคำเตือนตาม@deprecatedแท็ก Javadoc เสมอแม้ว่าคอมไพเลอร์ของ Sun จะทำเช่นนั้น คอมไพเลอร์อื่น ๆ อาจไม่ออกคำเตือนดังกล่าว ดังนั้นการใช้@Deprecatedคำอธิบายประกอบเพื่อสร้างคำเตือนจึงพกพาได้มากกว่าที่อาศัย@deprecatedแท็ก Javadoc
คุณสามารถค้นหาเอกสารฉบับเต็มได้ที่วิธีการและเวลาที่จะเลิกใช้ API
@deprecatedแท็ก javadoc (ใน Java 4-) คอมไพเลอร์ทำเครื่องหมายเมธอด (คลาส, ฟิลด์) เป็นค่าที่เลิกใช้แล้วและ IDEs แสดงคำเตือนแม้ว่าจะไม่มีแหล่งที่มาก็ตาม
เนื่องจากคำอธิบายเล็กน้อยหายไป
ใช้@Deprecatedคำอธิบายประกอบในวิธีการเช่นนี้
/**
* @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()}มีสองสิ่งที่คุณสามารถทำได้:
@Deprecatedคำอธิบายประกอบให้กับวิธีการและ@deprecatedแท็กใน javadoc ของวิธีการคุณควรทำทั้งสองอย่าง !
การอ้างถึงเอกสารคู่มือJavaในหัวข้อนี้:
เริ่มต้นด้วย J2SE 5.0 คุณคัดค้านคลาสเมธอดหรือฟิลด์โดยใช้คำอธิบายประกอบ @Deprecated นอกจากนี้คุณสามารถใช้ @deprecated แท็ก Javadoc บอกนักพัฒนาว่าจะใช้อะไรแทน
การใช้หมายเหตุประกอบทำให้คอมไพเลอร์ Java สร้างคำเตือนเมื่อใช้คลาสเมธอดหรือฟิลด์ที่คัดค้าน คอมไพเลอร์ระงับคำเตือนการเลิกใช้หากหน่วยการรวบรวมที่เลิกใช้แล้วจะใช้คลาสเมธอดหรือฟิลด์ที่คัดค้าน สิ่งนี้ทำให้คุณสามารถสร้าง API ดั้งเดิมได้โดยไม่ต้องสร้างคำเตือน
ขอแนะนำอย่างยิ่งให้คุณใช้แท็ก Javadoc @deprecated พร้อมความคิดเห็นที่เหมาะสมซึ่งอธิบายถึงวิธีการใช้ API ใหม่ สิ่งนี้ทำให้มั่นใจได้ว่านักพัฒนาจะมีเส้นทางการย้ายข้อมูลที่สามารถใช้การได้จาก API เก่าไปยัง API ใหม่
ใช้คำอธิบายประกอบ @Deprecatedสำหรับวิธีการของคุณและคุณควรพูดถึงมันใน javadocs ของคุณ
ดู@Deprecatedคำอธิบายประกอบ