Field ต่าง ๆ ใน Struct ของภาษา Go นั้นมักจะมีปัญหาเรื่องของลำดับ ซึ่งมีผลต่อการใช้งาน memoryซึ่งเคยเขียนอธิบายไว้ที่ blog เรื่องการจัดเรียง property ใน Struct เพื่อลดจำนวน memory ที่ใช้งานแต่ก็เป็นเรื่องที่ไม่สะดวกเท่าไรต่อการพัฒนาที่จะต้องมาจัดการอะไรแบบนี้ดังนั้นมาดูกันว่า มีเครื่องมืออะไรช่วยเหลือบ้าง
Read More…
วันนี้น้องในทีมมาถามเรื่อง การใช้งาน memory ของ struct ในภาษา Go ซึ่งมีเรื่องของ Alignment และ Padding ที่อาจจะดูงง ๆ เลยลองไปเปิดเอกสารของภาษา Go ดูกันหน่อย ได้ความว่า
Read More…
หลังจากทำการ review code ไปนิดหน่อย พบว่าได้เจอ code ที่น่าสนใจ เนื่องจากจะขัดกับ Law of Demeter พอควร ผลที่ตามมาคือ code ทำงานได้ แต่มีการเรียกต่อกันเป็นทอด ๆ ยาวมาก ๆ ยกตัวอย่างเช่น game.Board.Size.X และ g.Board.Slots[i][j].Number เป็นต้น แต่ตามจริงเราต้องการเพียงค่าสุดท้ายเท่านั้นเอง ทำไมเราต้องเขียน code ยาวขนาดนี้กันด้วย ? น่าคิดมาก ๆ หรือเราคิดว่า มันคือเรื่องปกติ เพราะว่า โครงสร้างของระบบเราเป็นแบบนี้ ? ดังนั้นมาปรับปรุง code ชุดนี้กันหน่อยดีไหม
Read More…