Tag Cohesion

ทำไม Method หรือ Function ที่ดีควรมีความยาวไม่เกิน 1 หน้าจอ หรือ 20 บรรทัด หรือ กฏอื่นๆอีกมากมาย

สำหรับบางคนที่เพิ่งเรียนเรียน Programming หรือ เพิ่มเริ่มทำงานใหม่ๆ อาจจะสงสัยว่าทำไมอาจารย์ หรือ พี่ที่ทำงานถึงมีข้อกำหนดในการเขียน Code ขึ้นมา ซึ่งบางข้ออาจจะดูไม่จำเป็นเลย เช่น หากเรามองแค่ผิวเผินแล้ว อาจจะคิดในใจว่าต้องการความเป็นระเบียบ ให้ Code สวยงาม เพื่อที่เรา หรือคนอื่นมาเขียนต่อภายหลังได้ง่าย แต่ถ้ามองลึกๆลงไป มันอาจจะเป็นกุศโลบายอย่างหนึ่งก็ได้ ซึ่งแฝงไปด้วยแนวคิด และทฤษฏีที่ซับซ้อน โดยผมจะอธิบาย แต่ละข้อเลยยะครับ ข้อแรก Method ที่เขียนขึ้นมาควรจะไม่เกิน 20 บรรทัด หรือ แสดงไม่เกินไม่เกิน 1 หน้าจอ หากเรามองลึกลงไป ทำไมต้องไม่เกิน 20 บรรทัด หรือ 1 หน้าจอ ซึ่งแนวคิดนี้จะลึกให้เราต้องกำหนดการทำงานของ…

Cohesion VS Coupling

ในชีวิตการทำงานจริง การพัฒนาออกแบบ Software ระบบหนึ่งขึ้นมา คงไม่ได้มีเพียง File เดียว หรือ Method Main อย่างเดียวแน่ๆ เหมือนตอนที่เรียนอยู่ในมหาวิทยาลัย โดยการทำงานจริงนั้น เราต้องแบบระบบงาน Software ที่ทำอยู่ออกมาเป็น Module หรือ Component ต่างๆ และท้ายที่สุดได้ Class Diagram แต่เมื่อออกแบบเสร็จแล้ว เราจะมั่นใจได้อย่างไรว่า Code ที่เราออกแบบนั้น ไม่มีการทำงานที่ซับซ้อน หรือมีโครงสร้างที่ซับซ้อนมากเกินไป จนทำให้ในอนาคตเมื่อมีการแก้ไข Code นั้นแล้วอาจจะทำให้กระทบไปทั้งระบบ แล้วเราจะมีวิธีจัดการอย่างไงให้สามารถลดความซับซ้อนของระบบได้ ผมขอแนะนำแนวคิด 2C ได้แก่ Cohesion และ Coupling (ลองดูรูป…