SmartNews ลดจำนวนบรรทัดของโค้ดลง 20% และปรับปรุงขวัญกำลังใจของทีมด้วย Kotlin

SmartNews ช่วยให้ผู้คนนับล้านค้นพบเรื่องราวต่างๆ ในโลกทุกวันด้วยการแชร์ข่าวสารที่ทันต่อเหตุการณ์ จากแหล่งข่าวที่หลากหลาย บริษัทก่อตั้งขึ้นในปี 2012 ในญี่ปุ่น และปัจจุบันมียอดดาวน์โหลดทั่วโลกกว่า 50 ล้านครั้ง

ในเดือนมิถุนายน 2019 ทีมได้เห็นว่าการพัฒนา Android กำลังมุ่งไปที่ Kotlin เป็นอันดับแรกและ ตัดสินใจเริ่มทดสอบ Kotlin ด้วยตนเอง โดยต้องการใช้ประโยชน์จากไลบรารี Jetpack ที่ใช้ Kotlin เป็นหลัก ลดจำนวนโค้ดที่ต้องดูแล และรับประโยชน์จากไวยากรณ์ของ Kotlin ที่สื่อความหมายและเข้าใจง่าย

สิ่งที่พวกเขาทำ

ทีมที่ SmartNews มีความเชี่ยวชาญด้าน Java เป็นอย่างดี จึงเริ่มเขียนใน Kotlin ได้อย่างง่ายดาย เนื่องจาก Kotlin ทำงานร่วมกับ Java ได้ 100% จึงเริ่มเขียนฟีเจอร์ใหม่ๆ เช่น เรดาร์ตรวจอากาศและข่าวจากทุกมุม ใน Kotlin ได้อย่างง่ายดายขณะที่ทำงานในโค้ดเบสที่มีอยู่ โดยใช้โครูทีนเพื่อ จัดการการดาวน์โหลดและการแคชรูปภาพภายในฟีเจอร์เรดาร์ตรวจอากาศที่จดสิทธิบัตร Dispatcher ของโครูทีนเป็นเครื่องมือที่มีประโยชน์ในการจัดการงาน และช่วยให้วิศวกรของ SmartNews หลีกเลี่ยงข้อผิดพลาดที่เกิดจากการจัดการเธรดดิบได้

นอกจากนี้ ทีมยังปรับโครงสร้างโค้ด Java บางส่วน และประทับใจกับฟีเจอร์ Null Safety ของ Kotlin ไวยากรณ์ของ Kotlin สำหรับการระบุความสามารถในการเปลี่ยนแปลง ความสามารถในการเป็นค่าว่าง และการเริ่มต้นช่วยให้ทีมตรวจพบข้อผิดพลาดได้ตั้งแต่เนิ่นๆ และลดเวลาในการตรวจสอบการเปลี่ยนแปลงโค้ดลง 10% การใช้ไวยากรณ์ที่กระชับและมีประสิทธิภาพของ Kotlin ยังช่วยให้ทีมเพิ่มความสามารถในการอ่านโค้ดเบสได้ด้วย ซึ่งทำให้การดูแลรักษาโค้ดง่ายขึ้นเมื่อบริษัทเติบโตขึ้น

ผลลัพธ์

การเขียนใน Kotlin ช่วยปรับปรุงประสิทธิภาพโดยรวมตั้งแต่ การติดตั้งใช้งานไปจนถึงการเปิดตัว การปรับปรุงที่สำคัญที่สุดคือการเขียนด้วย Kotlin ลดจำนวนบรรทัดของโค้ดที่แปลงแล้วลง 20% ปัจจุบันแอป SmartNews ประมาณครึ่งหนึ่งเขียนด้วย Kotlin และ ทีมพัฒนาวางแผนที่จะเขียนฟีเจอร์ใหม่ทั้งหมดใน Kotlin รวมถึง ทำการรีแฟกเตอร์โค้ดที่มีอยู่บางส่วนเพื่อเพิ่ม ความสามารถในการบำรุงรักษาโค้ดต่อไป

ขณะที่ทีมพัฒนาใช้ Kotlin และลดโค้ด Boilerplate ทีมสังเกตเห็นขวัญกำลังใจของทีมเพิ่มขึ้น ทีมรู้สึกตื่นเต้น ที่ได้แสดงไอเดียในวิธีที่มีประสิทธิภาพมากขึ้น และทำให้โค้ด อ่านง่ายขึ้นในอนาคต ฮิเดโอะ โอฮาชิ ผู้จัดการฝ่ายวิศวกรรมของ SmartNews สังเกตว่า Kotlin ช่วยให้ความพยายามในการสรรหาวิศวกรของบริษัทประสบความสำเร็จ "คำถามที่พบบ่อยที่สุดจากผู้สมัครงานคือ "คุณใช้ Kotlin ไหม คุณใช้บ่อยแค่ไหน" ตอนนี้ดูเหมือนว่าวิศวกรหลายคน สนใจที่จะย้ายข้อมูลไปใช้ Kotlin และต้องการรองรับ Kotlin" แม้ว่าการ ปรับปรุงขวัญและกำลังใจของทีมและการสรรหาบุคลากรจะไม่ใช่เหตุผลหลักที่ทีม นำ Kotlin มาใช้ แต่การเปลี่ยนแปลงในเชิงบวกเหล่านี้จะช่วยบริษัทได้เมื่อบริษัทเติบโตต่อไป ในอุตสาหกรรมที่มีการแข่งขันสูงนี้

เริ่มต้นใช้งาน

ดูข้อมูลเพิ่มเติมเกี่ยวกับการพัฒนาแอป Android ด้วย Kotlin