ซึ่งได้ลองเอาโจทย์ FizzBuzz จากเดิมที่เคยเขียนไว้เมื่ออาทิตย์ที่แล้วมา refactor ใหม่ และภาพด้านล่างนี้คือ code ของเดิม ซึ่งเราจะเห็นว่ามันยังมีส่วนที่ duplicated กันอยู่ พวกการใช้ if ทั้งหลาย เราจะลดการใช้สิ่งนี้ จึงเอาเรื่อง colltections เข้ามาใช้ เราเลือกใช้ map กับ slice
Slice จะทำการเก็บ reference ของ Array ดังนั้นถ้ามีการกำหนดค่าไปยังตัวแปรใดๆ มันก็คือการกำหนด reference
Map มันเป็น Data structure แบบ Key-value โดยที่อยากให้ key มีชนิดข้อมูลอะไรก็ได้ ข้อยกเว้น Slice จะนำมาเป็น key ไม่ได้
ซึ่งตอนแรกเกิดปัญหาตรงที่ เรียงลำดับแบบ 3,5,15 ตรง str แล้วเกิด error ที่ test ของ FizzBuzz ที่ต้องหาร 15 ลงตัว มันได้ค่า Fizz ออกมาจึงต้องแก้ปัญหาด้วยการเอา 15 มาขึ้นตัวแรกก่อน ด้านล่างคือ ส่วนที่ refactor code มาใหม่ ดูสิ สั้นลงขึ้นอีกเยอะเลย
ยังไงก็ลองไปหัดเขียนกันดูนะคะ เริ่มจากโจทย์ง่ายๆก่อน เช่น FizzBuzz ดูกันนะ ^^ หรืออยากลองโจทย์ที่ยากกว่านี้ ลองโจทย์นี้กันดูนะ
ทำกันแล้วลองมาแชร์กันดูเนาะ ว่าใช้วิธีอะไรกันบ้าง สามารถคอมเม้นบอกเล่ากันได้เลยนะจ๊ะ :)