ใน Android app ส่วนใหญ่พบว่านักพัฒนา (จริง ๆ ก็ทุกระบบนะ)
จะเขียน code สำหรับจัดเก็บ log เต็มไปหมดเลย
คำถามที่เด้งขึ้นมาทันทีเลยก็คือ
ไม่เบื่อ code เหล่านี้กันบ้างหรือไง ? เขียนซ้ำไปซ้ำมาอยู่ได้บ่อยครั้งพบว่า code สำหรับจัดเก็บ log การทำงาน มีมากกว่า code ทำงานจริง ๆ อีกนะ !! ดังนั้นสิ่งที่ควรต้องทำเลยก็คือ ... ไม่สิ ? ดังนั้นสิ่งที่ต้องทำเลยก็คือ เลิกเขียน log ที่ไม่จำเป็นลงไปซะ !! ไม่ก็เขียน test มาทดสอบซะ !! แต่ดูแล้วท่าทางจะยากกว่าเดิมไปเสียอีก ดังนั้นขอแนะนำ Hugo ก็แล้วกัน คิดว่าเป็นทางสายกลางที่น่าจะดีกว่าไม่ทำอะไรเลย
การใช้งาน Hugo
การใช้งานนั้นไม่ยากเลย เพียงแค่ใส่ annotation คือว่า @DebugLog ไปที่ method ที่เราต้องการ เมื่อมีการเรียกใช้ method นั้น ๆ ก็จะทำการ print ค่าที่ส่งเข้ามายัง method และค่าที่ถูก return ออกจาก method โดยที่ไม่ต้องไปเขียน log ใด ๆ ใน code อีกต่อไป จะทำงานเฉพาะ build type ที่เปิดการ debug เท่านั้น หรือไม่ปิดการทำงานของ Hugoเมื่อลองเข้าไปดูการพัฒนาของ Hugo แล้ว พบว่าใช้ AspectJ นั่นเอง (AOP ย่อมาจาก Aspect Oriented Programming)ปล. แสดงว่าในแต่ละ method ต้องมีหน้าที่การทำงานชัดเจนนะ ไม่ใช้ทำงานเยอะ ๆ ยาว ๆ ซึ่งคิดว่าน่าจะลำบากต่อชีวิตน่าดู