คุณเขียน function อย่างนี้หรือเปล่า

การเขียนโปรแกรม มันก็คล้ายๆ กับงานเขียนอื่นๆ
เมื่อเราต้องการเขียนบทความหรือ paper
ขั้นแรก เราก็ต้องร่างขึ้นมาก่อน แล้วปรับปรุงจนอ่านได้ดี
ซึ่ง draft แรกนี้อาจจะไม่เป็นระบบ
แต่เราก็ปรับปรุง ปรับโครงสร้าง และกรั่นกรอง จนเป็นผลงานที่ดี

เมื่อคุณเขียน function มันอาจจะออกมา ยาว และก็ยากที่จะเข้าใจ
มันอาจจะมีเยื้องบรรทัดเยอะแยะ หรือสารพัดลูปซ้อนลูป
อาจจะมี parameter ที่รับมายาวเป็นหางว่าว
ชื่ออาจจะกำกวม และมีโค๊ดที่ซ้ำซ้อน
(ถึงอย่างนั้น แต่ก็ยังสามารถทำงานได้)
จากนั้น เมื่อเราทำการกรั่นกรองโค๊ดเหล่านั้นใหม่
แยกออกไปเป็น function ย่อย
เปลี่ยนชื่อตัวแปร
กำจัดโค๊ดที่ซ้ำซ้อนออก
ยุบเมธอดและปรับลำดับมันใหม่
ซึ่งบางทีอาจจะถึงขั้นเขียน class ใหม่
(แต่ก็ยังสามารถทำงานได้)

ท้ายที่สุด
คงไม่มีใครสามารถทำให้ดีได้ตั้งแต่เริ่มทำหรอก

ที่มา: หนังสือ clean code หัวข้อ How Do You Write Functions Like This?

2 thoughts on “คุณเขียน function อย่างนี้หรือเปล่า

  1. ผมเห็นด้วยครับ ยิ่งไม่มีการวางแผนตอนแรกเวลาเขียน code นั้นออกมาอ่านยากมากเลยครับ ต้องมาปรับแก้เพื่อให้อ่านง่าย เข้าใจง่าย

    บางคนคิดแค่ว่าทำให้สามารถใช้งานได้ก็พอ แต่สำหรับผมสงสารคนที่จะมาทำต่อจากเราครับ

    1. ถ้าทีมที่ทำงานด้วยกัน มีความคิดคล้ายๆ กันแบบนี้ ผมว่าคงจะสนุกดีนะ🙂

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