คำศัพท์
จากอภิธานศัพท์ดวงอาทิตย์อย่างเป็นทางการ:
การคัดค้าน : อ้างถึงคลาส, อินเตอร์เฟส, ตัวสร้าง, เมธอดหรือฟิลด์ที่ไม่แนะนำให้ใช้อีกต่อไปและอาจหยุดอยู่ในเวอร์ชันอนาคต
จากวิธีการและเวลาที่จะคัดค้านคำแนะนำ:
คุณอาจเคยได้ยินคำว่า "อารมณ์ขันที่ไม่เห็นด้วยตนเอง" หรือเรื่องตลกที่ลดความสำคัญของผู้พูด คลาสหรือเมธอดที่เลิกใช้แล้วเป็นเช่นนั้น มันไม่มีความสำคัญอีกต่อไป ในความเป็นจริงแล้วมันไม่สำคัญอย่างที่คุณไม่ควรใช้อีกต่อไปเพราะมันถูกแทนที่แล้วและอาจหยุดอยู่ในอนาคต
@Deprecated
คำอธิบายประกอบไปขั้นตอนต่อไปและเตือนอันตราย:
องค์ประกอบของโปรแกรมมีคำอธิบายประกอบ @Deprecated
นั้นเป็นสิ่งที่โปรแกรมเมอร์ไม่แนะนำให้ใช้เพราะโดยปกติแล้วจะเป็นอันตรายหรือเพราะมีทางเลือกอื่นที่ดีกว่า
อ้างอิง
ถูกหรือผิด?
คำถามที่ว่ามันถูกหรือผิดที่จะใช้วิธีการที่เลิกใช้จะต้องมีการตรวจสอบเป็นรายบุคคล นี่คือเครื่องหมายคำพูดทั้งหมดที่คำว่า"เลิกใช้"ปรากฏในEffective Java 2nd Edition :
รายการที่ 7: หลีกเลี่ยง finalizers : วิธีการเดียวที่เรียกร้องให้การรับประกันการสรุปเป็นคู่ความชั่วร้ายของมันSystem.runFinalizersOnExit
Runtime.runFinalizersOnExit
วิธีการเหล่านี้มีข้อบกพร่องร้ายแรงและเลิกใช้แล้ว
รายการ 66: ซิงโครไนซ์การเข้าถึงข้อมูลที่ไม่แน่นอนที่ใช้ร่วมกัน : ไลบรารีให้Thread.stop
วิธีการ แต่วิธีการนี้เลิกใช้มานานแล้วเนื่องจากไม่ปลอดภัยโดยเนื้อแท้- การใช้งานนั้นอาจทำให้ข้อมูลเสียหายได้
รายการ 70: ความปลอดภัยของเธรดเอกสาร : System.runFinalizersOnExit
วิธีการนี้เป็นเธรดที่เป็นมิตรและเลิกใช้แล้ว
ไอเท็ม 73: หลีกเลี่ยงกลุ่มเธรด : อนุญาตให้คุณใช้พThread
ริมิทีฟดั้งเดิมกับกลุ่มเธรดพร้อมกัน primitives เหล่านี้หลายตัวถูกเลิกใช้แล้วและส่วนที่เหลือถูกใช้ไม่บ่อยนัก [... ] กลุ่มเธรดล้าสมัย
ดังนั้นอย่างน้อยด้วยวิธีการข้างต้นทั้งหมดมันผิดอย่างชัดเจนที่จะใช้พวกเขาอย่างน้อยตาม Josh Bloch
ด้วยวิธีการอื่นคุณต้องพิจารณาปัญหาแต่ละอย่างและเข้าใจว่าทำไมพวกเขาถึงเลิกใช้ แต่โดยทั่วไปแล้วเมื่อการตัดสินใจเลิกใช้งานนั้นเป็นธรรมมันจะโน้มตัวไปสู่ความผิดมากกว่าที่จะใช้มันต่อไป
คำถามที่เกี่ยวข้อง
1955 Volkswagen Beetle
แม้ว่าคุณจะได้รับข้อเสนอCorvette Stingray
ฟรีหรือไม่? (0: