โค้ดยิม/จาวาบล็อก/สุ่ม/คำอธิบายประกอบ ตอนที่ 1 - น่าเบื่อเล็กน้อย
John Squirrels
ระดับ
San Francisco

คำอธิบายประกอบ ตอนที่ 1 - น่าเบื่อเล็กน้อย

เผยแพร่ในกลุ่ม
ตอนที่ 1 ฉันได้เขียนสั้นๆ เกี่ยวกับคำอธิบายประกอบของประเภท SOURCE และ CLASS เรื่องนี้ควรค่าแก่การอ่านเพื่อหลีกเลี่ยงการหลงทางในส่วนที่สองและเพื่อขยายความ "เข้าใจผิด" ของคุณเล็กน้อย =) ฉันสัญญาว่าจะต้องมีอย่างน้อยหนึ่งคำที่คุณรู้แน่นอน! คำอธิบายประกอบ  ตอนที่ 1 — น่าเบื่อนิดหน่อย - 1 ครั้งแรกที่ฉันเห็นคำอธิบายประกอบในงานที่นี่ ฉันไม่ได้สนใจมันมากนัก มี @Override ที่นี่และที่นั่น แต่ IDEA เพิ่มเข้าไป ดังนั้นฉันจึงคิดว่ามันต้องเป็นแบบนั้น เมื่อเวลาผ่านไปฉันรู้ว่าทุกอย่างลึกซึ้งยิ่งขึ้น ขณะที่คุณศึกษา คำอธิบายประกอบอาจดูค่อนข้างไร้ประโยชน์แต่จำเป็น คุณไม่รู้ว่าทำไมพวกเขาถึงดำรงอยู่หรือสิ่งที่พวกเขาทำ คุณได้อ่านบทความ 2-3 บทความที่กล่าวว่า "เป็นเรื่องดีที่เรามีคำอธิบายประกอบในตอนนี้ ทุกอย่างกลายเป็นเรื่องง่ายๆ" แต่ก่อนฉันไม่รู้ว่าสิ่งต่าง ๆ เป็นอย่างไร และฉันไม่เข้าใจว่าสิ่งต่าง ๆ ง่ายขึ้นในตอนนี้ ตอนนี้ฉันรู้แล้วและต้องการแบ่งปันเล็กน้อย คำอธิบายประกอบ (RetentionPolicy) มี 3 ประเภท:
  • แหล่งที่มา — คำอธิบายประกอบสำหรับคอมไพเลอร์
  • CLASS — ข้อมูลจากคำอธิบายประกอบจะถูกเขียนเป็น bytecode แต่ไม่สามารถใช้ได้ในขณะรันไทม์ พวกเขากล่าวว่าไลบรารีมาตรฐานมีคำอธิบายประกอบประเภทนี้จำนวนมาก ซึ่งตอนนี้คงไว้สำหรับความเข้ากันได้แบบย้อนกลับ ใช้สำหรับงานที่เฉพาะเจาะจงมาก
  • ถามตอบเกี่ยวกับ StackOverflow
  • RUNTIME — คำอธิบายประกอบเหล่านี้เป็นที่นิยมมากที่สุด จะใช้ในขณะที่โค้ดถูกดำเนินการ
บทนำใช้ส่วนหนึ่งของบทความ ดังนั้นฉันจะเขียนที่นี่เกี่ยวกับคำอธิบายประกอบ SOURCE และ CLASS นี่คือคำอธิบายประกอบที่ฉันสามารถหาได้ (ขอบคุณ Task 3607) ฉันจะไม่กล่าวถึงคำอธิบายประกอบรันไทม์ — มีจำนวนมากเกินไปและไม่ใช่หัวข้อของบทความนี้ แหล่งที่มา:
  • java/lang/annotation/Native.class;
  • java/lang/SuppressWarnings.class
  • javax/annotation/Generated.class
  • java/lang/Override.class
ระดับ: ฉันไม่รู้ว่าเหตุใดจึงต้องมีคำอธิบายประกอบ CLASS ไม่พบเอกสารประกอบสำหรับคำอธิบายประกอบที่มีอยู่ ดังนั้นฉันคิดว่าคุณสามารถทิ้งสัมภาระนี้ไว้เบื้องหลังได้ แต่ถ้าเจอช่วยแชร์ด้วยนะครับ คำอธิบายประกอบที่มา:
  1. เนทีฟ — ตัวแปรที่มีคำอธิบายประกอบนี้อาจอ้างถึงโค้ดเนทีฟ
  2. SuppressWarnings — คำอธิบายประกอบนี้ระงับคำเตือนของคอมไพเลอร์ต่างๆ
  3. สร้าง — คำอธิบายประกอบนี้ทำเครื่องหมายซอร์สโค้ดที่ถูกสร้างขึ้น
  4. Override — วิธีการตรวจสอบคำอธิบายประกอบนี้แทนที่
สำหรับข้อมูลเพิ่มเติม:

@พื้นเมือง

พื้นเมือง — ฉันไม่เคยเห็นสิ่งนี้และไม่เคยใช้ ฉันคิดว่านี่เป็นคำอธิบายประกอบที่ค่อนข้างหายาก เพราะจะใช้เมื่อคุณต้องการเรียกใช้โค้ดในภาษา "ดั้งเดิม" อื่น ฉันพยายามและไม่พบการกล่าวถึงที่ชัดเจน

@SuppressWarnings

SuppressWarnings — คำอธิบายประกอบนี้มักใช้ดังนี้: @SuppressWarnings("unchecked") ใช้เพื่อระงับคำเตือนที่คุณทราบแล้ว ตัวอย่างก่อนหน้านี้ไม่แสดงคำเตือนเกี่ยวกับการแปลงประเภทที่ไม่ได้ตรวจสอบ นี่เป็นการใช้งานเดียวที่ฉันพบ

@สร้าง

สร้างแล้ว — ตอนนี้ฉันพบคำอธิบายประกอบนี้เนื่องจากการมอบหมายที่ฉันต้องสร้างคลาสจากไฟล์ XSD คำอธิบายประกอบ 3 รายการเหล่านี้ค่อนข้างเฉพาะเจาะจงและมีแนวโน้มว่าจะไม่น่าสนใจสำหรับคุณในปัจจุบัน ฉันจะอธิบายคนสุดท้าย

@แทนที่

Override — คุณใช้มันอย่างต่อเนื่องและมีประโยชน์มาก เมื่อแทนที่วิธีการหนึ่ง เป็นเรื่องง่ายที่จะทำผิดพลาดโดยไม่ได้รับความช่วยเหลือจาก IDEA ไม่ว่าจะพิมพ์ผิดหรือผิดพลาดง่าย ๆ ความผิดพลาดก็เกิดขึ้นได้ คำอธิบายประกอบนี้จะทำให้แน่ใจว่าเมธอดในคลาสพาเรนต์ตรงกับเมธอด (มีคำอธิบายประกอบ) ของเรา สิ่งนี้ทำให้มั่นใจได้ว่าวิธีการจะถูกแทนที่แทนที่จะเพิ่มเข้ามา เมื่อทำการ Refactor โค้ด วิธีการหลักอาจถูกลบหรือเปลี่ยนแปลง อีกครั้ง คำอธิบายประกอบนี้จะระบุข้อผิดพลาด หากปราศจากมัน วิธีการของเราก็จะถูกเพิ่มเข้ามา น่าเบื่อ? ฉันจะบอกว่าใช่ บทความนี้มีประโยชน์ไม่มากที่จะรวบรวม เกือบทุกอย่าง (90%) อธิบายถึงสิ่งที่คุณไม่เคยใช้หรือแทบจะไม่ใช้เลย ส่วนที่เหลืออีก 10% กำลังทักทายและอธิบายคำอธิบายประกอบ @Override ซึ่งเมื่อมองแวบแรกก็ไม่มีประโยชน์ ที่กล่าวว่าฉันคิดว่าในส่วนที่สองของบทความจะน่าสนใจมากขึ้น จะมีการหารือเกี่ยวกับคำอธิบายประกอบ RUNTIME — พวกเขาโต้ตอบกับรหัสระหว่างการดำเนินการและทำมนต์ดำ คำอธิบายประกอบ ตอนที่ 2 ลอมบอก
ความคิดเห็น
  • เป็นที่นิยม
  • ใหม่
  • เก่า
คุณต้องลงชื่อเข้าใช้เพื่อแสดงความคิดเห็น
หน้านี้ยังไม่มีความคิดเห็นใด ๆ