struct Archive

[Golang] การจัดเรียง property ใน Struct เพื่อลดจำนวน memory ที่ใช้งาน

วันนี้น้องในทีมมาถามเรื่อง  การใช้งาน memory ของ struct ในภาษา Go ซึ่งมีเรื่องของ Alignment และ Padding ที่อาจจะดูงง ๆ เลยลองไปเปิดเอกสารของภาษา Go ดูกันหน่อย ได้ความว่า

Read More…

ว่าด้วยเรื่องของ Law of Demeter

หลังจากทำการ review code ไปนิดหน่อย พบว่าได้เจอ code ที่น่าสนใจ เนื่องจากจะขัดกับ Law of Demeter พอควร ผลที่ตามมาคือ code ทำงานได้ แต่มีการเรียกต่อกันเป็นทอด ๆ ยาวมาก ๆ ยกตัวอย่างเช่น game.Board.Size.X และ g.Board.Slots[i][j].Number เป็นต้น แต่ตามจริงเราต้องการเพียงค่าสุดท้ายเท่านั้นเอง ทำไมเราต้องเขียน code ยาวขนาดนี้กันด้วย ? น่าคิดมาก ๆ หรือเราคิดว่า มันคือเรื่องปกติ เพราะว่า โครงสร้างของระบบเราเป็นแบบนี้ ? ดังนั้นมาปรับปรุง code ชุดนี้กันหน่อยดีไหม

Read More…