مورد 39: حاشیه نویسی را به استانداردهای نامگذاری ترجیح دهید

مشکلات استانداردهای نامگذاری:
اشتباهات تایپی:
- خرابیهای بیصدا به دلیل نامهای نادرست (مانند tsetSafetyOverride به جای testSafetyOverride).
سوء استفاده:
- هیچ راهی برای تضمین استفاده از نامها فقط در عناصر مناسب وجود ندارد (مثلاً نامگذاری یک کلاس TestSafetyMechanisms).
ارتباط پارامتر:
مشکل در مرتبط کردن پارامترها با عناصر برنامه (مثلاً کدگذاری انواع استثنا در نام روشهای آزمایش).
راه حل با حاشیه نویسی:
مثال حاشیه نویسی: ایجاد حاشیه نویسی تست برای روش های تست.
متا حاشیه نویسی:
– @Retention(RetentionPolicy.RUNTIME): یادداشت ها را در زمان اجرا نگه دارید.
– @Target(ElementType.METHOD): حاشیه نویسی فقط در روش ها مجاز است.
استفاده عملی:
- حاشیه نویسی Test روش های استاتیک بدون پارامتر را برای تست های خودکار که در صورت ایجاد استثنا با شکست مواجه می شوند، علامت گذاری می کند.
- مثال: کلاس نمونه با روشهایی که به عنوان تست مشروح شدهاند (بعضی معتبر، برخی نامعتبر).
ابزار تست ساده:
- Test Runner: روش های حاشیه نویسی شده با Test را به صورت بازتابی اجرا می کند.
- از Method.invoke و isAnnotationPresent برای شناسایی و اجرای روش های حاشیه نویسی استفاده می کند.
- موارد استثنایی را که با روش های آزمایشی پرتاب شده اند را می گیرد و گزارش می دهد.
حاشیه نویسی با پارامترها:
- تست با استثناها: ایجاد حاشیه نویسی ExceptionTest برای تست هایی که در صورت ایجاد یک استثنا خاص، موفق می شوند.
- نوع پارامتر: کلاس Throwable> را گسترش می دهد تا نوع استثنا مورد انتظار را مشخص کند.
اصلاح دونده تست:
- پشتیبانی از ExceptionTest را اضافه می کند.
- بررسی می کند که آیا استثنای پرتاب شده از نوع صحیح است یا خیر.
یادداشت های تکراری:
- استفاده از آرایه ها:
- تغییر پارامتر ExceptionTest به آرایه کلاس.
یادداشت @قابل تکرار:
به شما امکان می دهد یک عنصر را چندین بار با حاشیه نویسی یکسان حاشیه نویسی کنید.
مثال: @Repeatable در حاشیه نویسی ExceptionTest.
پردازش حاشیه نویسی قابل تکرار:
- مراقبت در پردازش:
- استفاده از getAnnotationsByType برای دسترسی به یادداشت های تکراری و غیر تکراری.
- بررسی هر دو نوع حاشیه نویسی (فردی و ظرفی).
نتیجه:
مزایای یادداشت ها:
- برتری حاشیه نویسی بر استانداردهای نامگذاری برای ارائه اطلاعات اضافی به کد منبع.
- تشویق به استفاده از حاشیه نویسی های از پیش تعریف شده و ارائه شده توسط ابزار.
اهمیت نکات:
برای برنامه نویسان:
- برنامه نویسان باید از حاشیه نویسی های از پیش تعریف شده ارائه شده توسط IDE ها یا ابزارهای تجزیه و تحلیل استاتیک برای بهبود کیفیت اطلاعات تشخیصی استفاده کنند.
- این خلاصه نکات اصلی مورد بحث در گزیده ای را در مورد تکامل استفاده از حاشیه نویسی برای جایگزینی استانداردهای نامگذاری سنتی، پرداختن به مزایای آنها و ارائه مثال های عملی و پیشنهادات اجرایی برجسته می کند.