چگونه توی جاوا کلاس‌های ترتمیز‌تری داشته باشیم

استاندارد

من هم مثل خیلیا سعی میکنم توی کدهایی که میزنم از اصول و مفاهیم شی گرایی استفاده کنم و تنها نکته‌ای که این وسط تاحدی واسم آزار دهنده بوده (البته تا دیروز) این بود که وقتی برای یه کلاس با تعداد متغیرهای زیاد میخواستم توابع getter و setter  بنویسم کد کلاسهام خیلی شلوغ و بهم ریخته میشد! اوضاع وقتی وخیمتر میشد که چندتا constractor و toString و equal و  … هم به کلاس اضافه میشد . تا این که دیروز همکارم یه کتابخونه خیلی خوب بهم معرفی کرد که بوسیله annotation ها تمام کارای که تو بالا بهشون اشاره کردم رو بدون شلوغ کاریهای روش معمول انجام میده، البته بجز کارهایی که گفته شد خیلی کارای باحال دیگه هم انجام میده . مثل cleanup@ که با استفاده از اون برای کلاس‌هایی که متد close توی اونها پیاده سازی شده (کلاس‌های cloasable مثل InputStream  و OutputStream ‌و یا کلاس‌های مربوط به دیتابیس )،به شما این اطمینان رو میده که قبل از خارج شدن از scope کنونی که شما توی اون هستید، این متد(close ) رو به وسیله try/finally فراخوانی کنه .

خب این کتابخونه‌ای که تا ایجا راجعبش صحبت کردم Lombok هست و توی چند مرحله‌ی ساده میخوام بهتون نحوه استفاده از اون رو توی intellij و AndroidStudio توضیح بدم .

۱ . ابتدا setting رو از منوی file انتخاب میکنیم

1

۲ . بعد از اون به زیر منوی plugin میریم و اونجا گزینه‌ی Browse repository رو انتخاب میکنیم .

2

۳ . مطابق شکل زیر Lombok رو جستجو میکنیم و اون رو نصب میکنیم (بعد از نصب intellij رو یک بار restart کنید )

3

۴ . توی تنظیمات annotation processor رو جستجو میکنیم و از زیر منوی compiler اونرو انتخاب میکنیم و تیک مربوط به فعال بودن annotation processor رو میزنیم

4

۵ . حالا تنها کار باقیمونده اینه که از سایت Lombok فایل jar مربوط به کتابخونه رو بگیریم و توی پروژمون اضافه کنیم

خب اگه روند بالا رو انجام دادین، وقتشه که نحوه استفاده‌ از این کتابخونه رو ببینیم، کدهای زیر به ۲ حالت نوشته میشن بدون استفاده ازLombok و با استفاده از اون (کدها کاملا عملکرد مشابهی توی ۲ حالت دارند)

نوشتن getter , setter بدون lombok

با استفاده از lombok

استفاده از toString بدون lombok

با استفاده از lombok

بدون استفاده از cleanup@

حالا همون کدبا cleanup@

برای دیدن قابلیت‌های بیشتر این کتابخونه میتونید به وبسایتشون سربزنید

3 دیدگاه در “چگونه توی جاوا کلاس‌های ترتمیز‌تری داشته باشیم

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *