JavaRush /Java blogi /Random-UZ /Izohlar. Birinchi qism, biroz zerikarli

Izohlar. Birinchi qism, biroz zerikarli

Guruhda nashr etilgan
Birinchi qism. SOURCE va CLASS turlari bilan izohlar haqida juda qisqacha yozdim. Ikkinchi qismda adashib qolmaslik va biroz ko'proq "noto'g'ri tushunish" ni boshlash uchun o'qishga arziydi =) Bu erda, albatta, siz biladigan kamida bitta so'z bo'ladi!
Izohlar.  Birinchi qism, biroz zerikarli - 1
Birinchi marta men ularni bu erda muammolarda ko'rganimda, men ularni qandaydir tarzda payqamadim. Xo'sh, Override osilgan, u IDEA tomonidan yozilgan, shuning uchun shunday bo'lishi kerak. Vaqt o'tishi bilan men hamma narsa ancha chuqurroq ekanligini angladim. Siz o'qiyotganingizda izohlar foydasiz, ammo zarur bo'lib tuyuladi. Nima uchun bunday qilishayotganini bilmaysiz. O'ylaymanki, men bir nechta maqolalarni o'qidim, ular "qanday ajoyib, endi bizda izohlar bor, hamma narsa juda oddiy bo'lib qoldi" deyishdi. Lekin men oldin qandayligini bilmasdim va endi osonroq ekanligini tushunmadim. Endi men bilaman va sizga bir oz aytib bermoqchiman. Izohlarning 3 turi mavjud (RetentionPolicy):
  • SOURCE – kompilyator izohlari
  • CLASS - izohdagi ma'lumotlar bayt kodiga yoziladi, lekin ish paytida mavjud bo'lmaydi. Ular standart kutubxonadagi ko'plab izohlar ushbu turdan foydalanishini yozadilar va endi ular orqaga qarab moslik tufayli uni saqlab qolishadi. Juda aniq vazifalar uchun ishlatiladi.
  • StackOverflow-da savol va javob
  • RUNTIME - eng mashhur, kod ishlayotganda ishlatiladi.
Maqolaning bir qismi kirish qismida bo'lganligi sababli, men bu erda SOURCE va CLASS izohlari haqida yozaman. Mana men topa olgan tezislar (3607-muammo tufayli). Men ish vaqti haqida yozmayman, ular juda ko'p va bu maqolaning mavzusi emas. MANBA:
  • java/lang/annotation/Native.class;
  • java/lang/SuppressWarnings.class
  • javax/annotation/Generated.class
  • ,java/lang/Override.class
SINF: Nima uchun CLASS tipidagi izohlar kerakligini bilmayman. Mavjud izohlar uchun hujjatlarni topa olmadim, shuning uchun bu yukni ortda qoldirishimiz mumkin deb o'ylayman. Ammo topsangiz, baham ko'ring. SOURCE izohlari:
  1. Native - bu izoh ostidagi o'zgaruvchi mahalliy kodga murojaat qilishi mumkin;

  2. SuppressWarnings - kompilyatorning turli ogohlantirishlarini bostiradi;

  3. Yaratilgan - yaratilgan manba kodini belgilaydi;

  4. Override - usulning bekor qilinishini tekshiradi.
Batafsil ma'lumot:
Izohlar.  Birinchi qism, biroz zerikarli - 2
Mahalliy - hech qachon ko'rilmagan va ishlatilmagan. Menimcha, bu juda kam uchraydigan izoh, chunki... agar ular boshqa "ona" tilda kodni ishlatishlari kerak bo'lsa, undan foydalanadilar. Men unga aniq havola topishga harakat qildim, lekin qila olmadim.
Izohlar.  Birinchi qism, biroz zerikarli - 3
SuppressWarnings - ko'pincha @SuppressWarnings("belgilanmagan") shaklida qo'llaniladi. Siz bilgan ogohlantirishlarni bostirish uchun foydalaniladi. Yuqoridagi misol tekshirilmagan turlarni translyatsiya qilish haqidagi ogohlantirishlarni bosadi. Shunga qaramay, men uni faqat ushbu shaklda va foydalanishda uchratdim.
Izohlar.  Birinchi qism, biroz zerikarli - 4
Yaratilgan - vazifa mendan xsd fayllaridan sinflar yaratishni talab qilganda, men buni hozir uchratdim. Ushbu 3 ta izoh juda aniq va hozir sizni qiziqtirmaydi. Men oxirgisini tasvirlab beraman.
Izohlar.  Birinchi qism, biroz zerikarli - 5
Bekor qilish - siz uni doimo ishlatasiz va u juda foydali ish qiladi. Usulni bekor qilishda xato qilish oson, agar IDEA buni qilmasa. Yozuv xatolari yoki shunchaki xatolar mavjud. Ushbu izoh ota-sinfdagi usul bizning (yorliqlangan) usul bilan bir xil bo'lishini ta'minlaydi. Bu bizga usulning bekor qilinishini va unga qo'shilmasligini kafolatlaydi. Kodni qayta tiklashda usulni olib tashlash yoki o'zgartirish mumkin. Shunga qaramay, izoh sizga xatoni ko'rsatadi. Busiz bizning usulimiz tugallangan bo'lar edi.
Izohlar.  Birinchi qism, biroz zerikarli - 6
Zerikarlimi? Ha, bu maqoladan olib tashlash uchun juda ko'p foydali narsa yo'q, deb aytardim. Undagi deyarli hamma narsa (90%) siz foydalanmaydigan yoki ishlatmaydigan, lekin juda kamdan-kam hollarda bo'lgan narsa haqida. Qolgan 10% salom va birinchi qarashda foydasiz bo'lgan Override annotatsiyasining tavsifi. Xo'sh, menimcha, maqolaning ikkinchi qismi yanada qiziqarli bo'ladi. RUNTIME izohlari bo'ladi va ular real vaqtda kod bilan o'zaro ta'sir qiladi va qora sehr yaratadi. Izohlar. Ikkinchi qism. Lombok.
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION