มาลดจำนวน code ใน java ด้วย Lombok กันเถอะ

สวัสดีครับ วันนี้จะขอแนะนำเครื่องมือที่ช่วยให้การทำงานด้วยภาษา Java ง่ายขึ้นครับ

ปกติแล้วเวลาเราเขียน Java สิ่งที่เราทำเสมอเวลาสร้าง Object และก็การเข้าถึงข้อมูลใน Object นั้น คือการใช่ get set นั่นเอง

ซึ่งแน่นอนเป็นเรื่องดีที่เราทำแบบนี้ เพราะเป็นไปตามหลักการ Encapsulation (ไม่ขออธิบายนะเดี๋ยวยาว)

ดูแล้วก็ไม่น่าจะไม่มีอะไร แต่หลายๆครั้ง Object เหล่านี้ มีตัวแปรที่เยอะมาก!!!
ถึงจะมี IDE ที่ช่วย generate code เหล่านี้ให้ แต่ ก็ทำให้จำนวนบรรทัดมันเยอะมากกกกกกกกก อยู่ดี


มารู้จักกับ Lombok

lumbok จะเป็นตัวช่วยจัดการเรื่องซ้ำซากที่เราต้องทำอย่างเช่น get set ใน java เพียงแค่ใช้ Annotation

ก่อนอื่นก็เข้าไปที่เว็บ projectlombok.org

จากนั้นก็ลงติดตั้งกัน การติดตั้งก็จะมีหลายวิธี ใครจะโหลด .jar มาติดตั้งก็ได้

สำหรับผมใช้ Gradle ก็ใส่ code นี้ไปเลย

compile "org.projectlombok:lombok:1.16.10"

หลักจากติดตั้ง lib เสร็จเรียบร้อยตอนนี้เราก็จะสามารถใช้ Lombok ได้แล้ว

แต่เดี๋ยวก่อน ถ้าทำแค่นี้จะสามารถใช้ได้เฉพาะตอน compile เท่านั้น

ถ้า Class อื่นเรียกใช้ ใน ide จะฟ้อง Error จำเป็นต้องติดตั้ง plugin ก่อน

ของผมใช้ intellij ใครใช้ intellij หรือ Android Studio ก็ติดตั้ง plugin ตามในรูปได้เลย

หลักจากนั้นลองแก้ code เดิมกัน

ใส่ @ Data ไปก่อนชื่อ class ( annotation Data คือการ generate ToString, EqualsAndHashCode, Getter รวมถึง Setter ในตัวแปรที่ไม่ใช่ final)

เห็นไหมครับ code ดูสะอาดขึ้นมาก

นอกจาก @ Data แล้ว ถ้าเกิดเราคิดว่า เราไม่ต้องการให้ generate ให้ทุกตัวแปร หรือเราต้องการให้ generate เพียงแค่บาง method เราก็สามารถทำแบบนี้ได้

ใส่ annotation เฉพาะตัวแปรที่ต้องการ

จริงแล้วนอกจาก Data , Setter , Getter แล้ว Lombok ก็ยังมีอีกหลายตัวให้เราได้ใช้กัน ลองเข้าไปดูที่ projectlombok.org/features

สำหรับผมอีกตัวที่ได้ใช้บ่อยๆก็คือ @ Log4j

ปกติเวลาเราจะใช้ Log4j ใน java เราจะต้องทำแบบนี้ที่ทุก class

final static Logger logger = Logger.getLogger(classname.class);

หรือ บางคนอาจจะประกาศไว้ใน class แม่ที่เดียว

แต่ถ้าเราใช้ @ Log4j เข้าไปที่หัว class เราก็จะสามารถใช้ log ได้ปกติเลย


สรุปแล้ว lombok ไม่ได้เป็นเทคนิคการเขียนโค้ดแต่อย่างใด แต่เป็นเครื่องมือที่ช่วยให้โค้ดของเราดูสะอาดตาขึ้น สำหรับผมถือว่าเป็นประโยชน์อย่างมาก

ที่มา : projectlombok.org

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.