ช่วงนี้มีโอกาสเข้าไปเปลี่ยนภาษาโปรแกรมสำหรับพัฒนาระบบงาน
จากภาษา 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 เถอะนะ