Duolingo ย้ายแอพ Android จาก Java เป็น Kotlin ทั้งหมดแล้ว จำนวนโค้ดลดลงไป 30%

2020-05-30

Duolingo แอพสอนภาษาต่างประเทศชื่อดัง เล่าประสบการณ์การย้ายแอพเวอร์ชัน Android จากที่เขียนด้วยภาษา Java มาเป็น Kotlin เสร็จสมบูรณ์แล้ว 100%

Duolingo ระบุว่าใช้เวลาย้ายจาก Java เป็น Kotlin ทั้งหมด 2 ปี (เริ่มทำช่วงต้นปี 2018) เหตุผลที่ย้ายเป็นเพราะ Kotlin เขียนง่ายกว่า ดูแลโค้ดง่ายกว่า ตัดข้อกังวลเรื่องปัญหาแครช (Duolingo บอกว่าข้อความ commit ยอดฮิตช่วงก่อนหน้านี้คือ Fix NullPointerException crash ซึ่งตอนนี้ไม่มีอีกแล้ว)

No Description

ทีมพัฒนาของ Duolingo เคยมีประสบการณ์ย้ายแอพ iOS มาเป็น Swift และย้ายเว็บมาเป็น TypeScript มาก่อนแล้ว จึงเข้าใจปัญหาและความเสี่ยงของการย้ายระบบเป็นอย่างดี กระบวนการทำงานเริ่มต้นจากการศึกษา Kotlin จากเอกสารต่างๆ แล้วนำมาพรีเซนต์กันในทีม จากนั้นเริ่มแจกงานย้ายโค้ด Java เป็น Kotlin ให้โปรแกรมเมอร์ทุกคนแบบเจาะจง และกำหนดตำแหน่ง “Kotlin checker” ให้คนที่มีประสบการณ์เขียน Kotlin ช่วยแนะนำคนอื่นๆ ในทีมด้วย

ทีม Duolingo ยังแชร์เทคนิคการแปลง Java เป็น Kotlin อีกหลายอย่าง เช่น การแปลงไฟล์หนึ่งไฟล์ให้แยกเป็น 3 commit เพื่อให้ตรวจสอบข้อผิดพลาดในแต่ละขั้นตอนได้ง่าย, การกำหนดว่าไฟล์ไหนควรแปลงก่อนหลัง ตามความถี่ที่ใช้บ่อย, การทำตารางคะแนนแข่งกันภายในทีมเพื่อดูว่าใครแปลงโค้ดได้เยอะกว่า เป็นต้น

ผลของการแปลงโค้ด Java เป็น Kotlin ทำให้จำนวนบรรทัดลดลงไปเฉลี่ยราว 30% และในบางกรณีอาจลดลงถึง 90%, ทีมงานมีความสุขมากขึ้น และมีประสบการณ์ Kotlin มากพอจนสามารถเขียน Kotlin สำหรับงาน backend ควบคู่ไปกับ Python และ Java ได้ด้วย

No Description

ผู้เขียนเล่าประสบการณ์ของ Duolingo เป็นคนไทย ชื่อคุณ Art Chaidarun

ที่มา – Duolingo, Android Developers