อนึ่ง คำว่า "อ่านง่าย" แปลได้หลายความหมาย การที่บอกว่าอ่านง่ายในนิยามของผู้เขียนคือจะต้องมีทักษะการออกแบบและการเขียนโปรแกรมเชิงวัตถุ พอสมควร ... เอาล่ะ มาเริ่มเลยดีกว่า
1. อย่า code ถ้า Test ไม่ได้ ... กฎเหล็กอันหนักหน่วง ที่บางทีก็แอบแหก .... แต่ต้องเข้าใจว่ามันเป็นวิธีที่ดีที่เราควรคำนึงถึงการ Test ก่อนลงมือแก้ไขอะไรลงไป เพราะจะทำให้เราเข้าใจได้ว่า ถ้าเราจำเป็นต้องใช้ code นั้นในกรณีอื่นๆ เราจะมีชีวิตที่ดีขึ้นหรือไม่ สิ่งที่เขียนไปแล้วจะมีคนด่าลับหลังเหรอเปล่า ....
2. อย่าทำลาย Law of Demeter - จริงอยู่ว่า ในวงปาร์ตี้ที่เราจัดขึ้นโดยชวนผองเพื่อนมาร่วมงาน เราสามารถคุยกับทุกคนที่เข้ามาในปาร์ตี้ได้ แม้ว่าคนๆ นั้น จะเป็น เพื่อนของเพื่อนของเพื่อน ก็ตาม ... แต่ในเนื้อแท้แล้ว เราจะรู้จักคนๆ นั้น ได้ก็ต่อเมื่อ คนที่รู้จักเราพาเค้ามาในงานเท่านั้น ... เราจึงไม่ควรมีความสัมพันธ์กับคนๆ นั้นโดยตรงจนกว่าจะมั่นใจได้ว่า เราจำเป็นต้องรู้จักเค้าจริงๆ
3. จิตใจโลเลอย่าใช้ static - อันตรายมากสำหรับการใช้ static หากจิตใจไม่มั่นคง ... โลกคงจะปั่นป่วนไม่ใช่น้อยหากพระอาทิตย์ไม่ขึ้นทางทิศตะวันออกเสมอ ....
4. interface over subclass - อยากได้ "ยาม" อย่าจ้างลูกของ "ยาม" ควรจ้าง "ยาม" ไม่ใช่ลูกของคนที่เคยเป็น "ยาม" มันย้อนแย้งในหน้าที่ เพราะเราต้องการ "ยาม"
5. Given When Then - วิธีเขียนโปรแกรมให้ง่ายที่สุดคือการคิดแบบเป็นระบบ input / process / output ... พื้นฐานง่ายๆแต่ตีความได้ลึกซึ้ง ... การใช้ Given when then ก็เป็นการขยายความเพื่อให้เราคิด logic ในการเขียนโปรแกรมให้ถี่ถ้วนก่อนลงมือทำจริงทำให้เราตอบสนองกับ scenario ที่คาดไม่ถึงได้
แลดูค่อนข้าง abstract แต่คิดว่าแค่ห้าข้อนี้น่าจะทำให้ชีวิต Java Dev อย่างเราๆ ท่านๆ สะดวกสบายมากยิ่งขึ้นครับ