
จากงาน Android Bangkok Conference 2019 ที่ผ่านมา มี session อธิบายถึงการทำงานของ Gradle ซึ่งเป็น build tool ของ Android project ไม่ว่าจะเขียนด้วยภาษา Java หรือ Kotlin ก็ตาม ปัญหาที่ปวดหัวของนักพัฒนาคือ เวลาในการ build ของ Gradle ที่นานนั่นเอง
สำหรับการใช้งาน Gradle ทั้ง Android, Backend และ Frontend นั้น ในแต่ละ task นั้นสร้าง cache data ไว้เสมอ ทำให้ทำงานได้เร็วขึ้น แต่ความเร็วของแต่ละเครื่องที่ build ขึ้นอยู่กับการสร้าง cache data นี่แหละ ดังนั้นถ้าแต่ละเครื่องทำการ share cache data ก็น่าจะดีนะ ดังนั้นมาใช้งาน Caching server กันหน่อยดีกว่า เป้าหมายเพื่อความเร็วในการ build นั่นคือทำให้ชีวิตนักพัฒนาดีขึ้น
ในงาน Google I/O 2017 นั้นมี session เรื่อง Speeding Up Your Android Gradle Builds โดยแนะนำเทคนิคต่าง ๆ ในการปรับแต่งการทำงานของ Gradle เพื่อเพิ่มความเร็วในการ build สำหรับ Android app เป้าหมายเพื่อเพิ่ม productivity ของนักพัฒนา app นั่นเอง มาดูกันเลย Slow builds are not normal !! ปล. การวัดประสิทธิภาพจะใช้ 3 ค่า คือ Full build Incremental build เมื่อ code java เปลี่ยนแปลง Incremental build เมื่อ resource เปลี่ยนแปลง
ในการดูแลรักษา code ของระบบต่าง ๆ มันไม่ได้ง่ายเลย ยิ่งเป็น Legacy code แล้วยิ่งยากเข้าไปใหญ่ แต่ก่อนอื่นต้องทำความเข้าใจกับ code ก่อน ทั้งเรื่องของ ข้อมูลทั่วไปของ code เช่น จำนวนบรรทัด จำนวนไฟล์ จำนวน method ข้อมูลเรื่องความซับซ้อนของ code ข้อมูลเรื่อง code ที่ซ้ำซ้อน (Duplication) ความสัมพันธ์ของ code (Dependency) โดยเรื่องที่มีความสำคัญอย่างมากก็คือ เรื่อง ความสัมพันธ์ของ code (Dependency) ว่าผูกติดกันอย่างไรบ้าง