ช่วงนี้มีโอกาสเข้าไปเปลี่ยนภาษาโปรแกรมสำหรับพัฒนาระบบงาน
จากภาษา Java ไปยังภาษา Kotlin ซึ่งกำลังเนื้อหอมกันเลยทีเดียว
ก็มีทั้งข้อดีและข้อเสียกันทั้งนั้น
ซึ่งหลาย ๆ คนคงจะเห็นบทความเกี่ยวกับภาษา Kotlin ออกมาเพียบ
ตั้งแต่ที่ภาษา Kotlin ได้เข้าไปเป็นหนึ่งในภาษาหลักสำหรับการพัฒนา Android app

แต่สิ่งที่น่าสนใจคือ ขั้นตอนการปรับเปลี่ยนมากกว่า ว่าต้องเป็นอย่างไรบ้าง ?
ดังนั้นจึงสรุปวิ่งที่ได้ลงมือทำไปไว้นิดหน่อย
ซึ่งทำการเปลี่ยนแปลงจากระบบที่มีอยู่แล้ว !!!
มาเริ่มกันเลย

เริ่มด้วยการทดสอบ !!

การเปลี่ยนแปลงต่าง ๆ สิ่งที่เราต้องรู้ก่อนเลยคือ
ระบบเดิมนั้นเป็นอย่างไร ?
การทำงานที่ถูกต้องเป็นอย่างไร ?
มิเช่นนั้น จะเปลี่ยนได้อย่างถูกต้องกันอย่างไร !!
หรือเมื่อทำการเปลี่ยนแปลงแล้ว
อาจจะต้องแก้ไข bug ที่มีอยู่แล้วก็เป็นไปได้ !!

ดังนั้นสิ่งที่ต้องมีคือ ชุดการทดสอบ
ทั้ง unit test
ทั้ง integration test
ทั้ง acceptance test
แล้วจะทำให้เรามั่นใจในการเปลี่ยนแปลง
ซึ่งมันจะช่วยให้เรา foucs ไปที่ตัวภาษามากขึ้น
ทำให้สามารถถึงศักยภาพของภาษาออกมาได้เยอะมาก ๆ
ไม่ต้องมาห่วงหน้าพะวงหลัง

ปล. ถ้าระบบเดิมทีมีอยู่ไม่มีการทดสอบละ ?
สิ่งที่ต้องทำก่อนเลยคือ
เขียนชุดการทดสอบด้วยภาษา Kotlin ก่อน
เพื่อทดสอบระบบเดิมที่พัฒนาด้วยภาษา Java ซะ

นี่คือขั้นตอนแรกของการเปลี่ยนแปลง
ที่สำคัญก้าวแรกที่ปลอดภัยและมั่นใจด้วยนะครับ

ทำการแปลงชุด code เดิมที่เป็นภาษา Java

คำถามแรก ๆ เลยก็คือ เราจะเปลี่ยนแปลง code ชุดไหนดี ?
คำตอบที่ง่ายสุด ๆ คือ
class ตระกูล POJO (Plain Old Java Object) นั่นเอง
แปลงมาอยู่ในรูปแบบของ data class ของ Kotlin
ซึ่งช่วยลดจำนวนบรรทัดของ code ลงไปได้มากมาย
จากนั้นตามด้วยพวก Utility class/Helper class ต่าง ๆ

ส่วนที่ยากคือ ส่วนของ business logic นั่นเอง
แต่ถามมีชุดการทดสอบครอบคลุมไว้ น่าจะมั่นใจมากขึ้น
รวมทั้งเรื่องของ Nullable มันก็สำคัญมาก ๆ เช่นกัน

ปล. มีคำถามว่า ต้องแปลง code จากภาษา Java เป็น Kotlin ให้หมดเลยหรือไม่ ?
คำตอบคือ ไม่จำเป็นนะ
เนื่องจาก Java และ Kotlin ก็ทำงานร่วมกันได้
ดังนั้นให้ทำการแปลงเท่าที่เรามั่นใจก่อน

ส่วน code ใหม่ ๆ ก็เขียนด้วยภาษา Kotlin ไป

ขอให้สนุกกับการเขียน code นะครับ

ปล. สำหรับ Java Developer ที่ยังใช้ Eclipse IDE อยู่
ผมแนะนำให้ลองมาใช้ IntelliJ IDE ดูนะครับ
ส่วน Android Developer ก็เช่นกัน มาใช้ Android Studio เถอะนะ