CodeGym /وبلاگ جاوا /Random-FA /حاشیه نویسی ها قسمت 1 - کمی خسته کننده
John Squirrels
مرحله
San Francisco

حاشیه نویسی ها قسمت 1 - کمی خسته کننده

در گروه منتشر شد
قسمت 1. من به طور خلاصه در مورد حاشیه نویسی از نوع SOURCE و CLASS نوشته ام. برای اینکه در قسمت دوم گم نشوید و "سوء تفاهم" خود را کمی گسترش دهید این مطلب ارزش خواندن دارد. حاشیه نویسی ها  قسمت 1 - کمی خسته کننده - 1 اولین باری که در وظایف اینجا حاشیه نویسی را دیدم به نوعی به آنها توجه زیادی نکردم. اینجا و آنجا @Override وجود دارد، اما IDEA آن را اضافه می‌کند، بنابراین من فکر کردم که باید اینطور باشد. با گذشت زمان، متوجه شدم که همه چیز بسیار عمیق تر است. همانطور که مطالعه می کنید، حاشیه نویسی ممکن است تا حدودی بی فایده اما ضروری به نظر برسد. شما نمی دانید چرا وجود دارند یا چه می کنند. شما چند مقاله خواندید که می‌گفتند، "خیلی عالی است که ما الان حاشیه‌نویسی داریم، همه چیز خیلی ساده شده است." اما من قبلاً نمی دانستم اوضاع چگونه است و نمی فهمیدم که اکنون همه چیز راحت تر است. حالا من می دانم و می خواهم کمی به اشتراک بگذارم. 3 نوع حاشیه نویسی (RetentionPolicy) وجود دارد:
  • منبع - حاشیه نویسی برای کامپایلر
  • کلاس - اطلاعات از حاشیه نویسی در بایت کد نوشته می شود اما در زمان اجرا در دسترس نیست. آنها می گویند که کتابخانه استاندارد دارای حاشیه نویسی های زیادی از این نوع است که اکنون برای سازگاری با عقب نگه داشته شده است. این برای کارهای بسیار خاص استفاده می شود.
  • پرسش و پاسخ در 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. Native - متغیری با این حاشیه ممکن است به کد بومی اشاره داشته باشد.
  2. SuppressWarnings - این حاشیه نویسی هشدارهای مختلف کامپایلر را سرکوب می کند.
  3. ایجاد شده - این حاشیه نویسی کد منبع تولید شده را علامت گذاری می کند.
  4. لغو - این حاشیه نویسی نادیده گرفتن روش را بررسی می کند.
برای اطلاعات بیشتر:

@بومی

بومی - من هرگز این را ندیدم و هرگز از آن استفاده نکردم. من فکر می کنم این یک حاشیه نویسی نسبتاً نادر است، زیرا زمانی استفاده می شود که شما نیاز به اجرای کد به زبان "بومی" دیگری دارید. من تلاش کردم و نتوانستم ذکر واضحی از آن پیدا کنم.

@SuppressWarnings

SuppressWarnings - این حاشیه‌نویسی اغلب به این صورت استفاده می‌شود: @SuppressWarnings ("علامت‌گذاری نشده"). برای سرکوب هشدارهایی که قبلاً از آنها مطلع هستید استفاده می شود. مثال قبلی هشدارهای مربوط به تبدیل‌های نوع علامت‌نشده را سرکوب می‌کند. باز هم، این تنها استفاده ای است که من با آن مواجه شده ام.

@Generated

ایجاد شده - من در حال حاضر به دلیل تکلیفی که در آن باید کلاس هایی را از فایل های XSD ایجاد کنم، با این حاشیه نویسی مواجه می شوم. این 3 حاشیه نویسی کاملاً خاص هستند و به احتمال زیاد در حال حاضر برای شما جالب نیستند. آخری را شرح خواهم داد.

@Override

لغو - شما دائما از آن استفاده می کنید و کار بسیار مفیدی انجام می دهد. هنگام نادیده گرفتن یک روش، اشتباه کردن بدون کمک IDEA آسان است. چه اشتباهات تایپی یا اشتباهات ساده، اشتباهات رخ می دهد. این حاشیه‌نویسی مطمئن می‌شود که متد در کلاس والد با روش (توضیحات) ما مطابقت دارد. این تضمین می کند که روش به جای اضافه شدن، لغو می شود. هنگام بازسازی کد، روش والد ممکن است حذف یا تغییر یابد. باز هم، این حاشیه نویسی یک خطا را نشان می دهد. بدون آن، روش ما به سادگی اضافه می شود. حوصله سر بر؟ من می گویم بله. هیچ چیز مفیدی برای جمع آوری از این مقاله وجود ندارد. تقریباً همه چیز (90٪) در اینجا چیزی را توصیف می کند که هرگز از آن استفاده نخواهید کرد یا به ندرت. 10 درصد باقیمانده در حال سلام کردن و توصیف حاشیه نویسی @Override هستند که در نگاه اول بی فایده است. با این حال، من فکر می کنم در قسمت دوم مقاله جالب تر خواهد بود. در مورد حاشیه نویسی RUNTIME بحث خواهد شد - آنها در هنگام اجرا با کد تعامل می کنند و جادوی سیاه انجام می دهند. حاشیه نویسی ها قسمت 2. لومبوک
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION