รีวิวหนังสือ Understanding the Four Rules of Simple Design

หนังสือชื่อสะดุดตากับคนเขียนที่พอจะรู้จักสไตล์การเขียนโปรแกรมของเค้าบ้าง เลยรีบคว้ามาอ่านอย่างรวดเร็ว

Understanding the Four Rules of Simple Design

Screen Shot 2014-04-02 at 9.32.55 PM

หนังสือเล่มนี้เขียนโดย Corey Haines ผู้ซึ่งเป็นคนที่ริเริ่มกิจกรรมการเขียนโปรแกรมที่เน้นการเขียนโค้ดให้สวยงามที่มีชื่อว่า Coderetreat (เหล่าพี่ ๆ ทั้งหลายนำมาจัดที่ไทยหลายครั้งแล้วเหมือนกัน) ผู้เขียนเกริ่นนำถึงความเป็นมาเป็นไปและสไตล์การจัดกิจกรรม แนะนำถึงแนวคิด simple design และความสำคัญของมัน จากนั้นเค้าจึงนำตัวอย่างของโค้ดที่เขียนกันใน Coderetreat มาให้ดู ปรับให้มันสวยงามขึ้นพร้อมทั้งอธิบายสาเหตุว่าทำไมเค้าจึงทำแบบนี้ และทำไมโค้ดใหม่จึงดีขึ้นกว่าโค้ดเก่า

หนังสือไม่ยาวเท่าไหร่แค่ 82 หน้า ผมอ่านข้ามไปเยอะในเรื่อง Coderetreat และ design concept ที่เคยได้ยินมาบ้างแล้วหลายๆ อย่าง ชอบในส่วนของการยกตัวอย่างโค้ดมาอธิบาย อ่านแล้วได้เทคนิคและแนวคิดไปใช้เพิ่มเติมหลายอย่างเหมือนกัน โค้ดตัวอย่างส่วนใหญ่เป็น Ruby ผู้เขียนบอกว่าพยายามจะไม่ใช้สิ่งที่มีแต่ใน Ruby แต่ผมก็เห็นในหลายจุดที่ถ้าผมจิตนาการว่าตัวเองเป็น Java หรือ PHP programmer คงไม่คุ้นกับมันเท่าไหร่

ในตอนท้ายมีการรวมกฎเกณฑ์ต่างๆ ที่เค้ามักจะเพิ่มเข้าไปในกิจกรรม Coderetreat เพื่อให้กิจกรรมสนุกขึ้น เป็นการกระตุ้นความคิด เพิ่มการพูดคุย ถกเถียงใน concept การเขียนโปรแกรมต่าง ๆ เช่น การห้ามคน pair กันคุยกัน และมีการแนะนำสไตล์การ pair programming แบบต่าง ๆ รายละเอียดเนื้อหาโดยคร่าวดูได้ที่สารบัญของหนังสือเล่มนี้เลยครับ

ถ้าใครเห็นชื่อหนังสือแล้วสนใจเรื่อง Four Rules of Simple Design อาจจะผิดหวังหน่อย เพราะเค้าพูดถึงไม่เยอะ ผมว่าหนังสือเล่มนี้ต้ังชื่อประมาณว่า Codereatreat Story – Learning better software design น่าจะตรงกว่า แต่ก็เข้าใจว่ามันคงไม่ดึงดูดเท่าชื่อที่เค้าใช้

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s