คุณมั่นใจในแนวคิดหลักเบื้องหลัง Rails คุณสามารถเขียนโค้ดใช้งานได้ไม่มีปัญหา และคุณกำลังเรียนรู้เพิ่มเติมเกี่ยวกับคุณภาพของโค้ด การจัดโครงสร้างใหม่ การเขียนการทดสอบที่ยอดเยี่ยม และการออกแบบเชิงวัตถุ
เมื่อถึงจุดนี้ คุณเริ่มรู้สึกเหมือนกำลังได้รับมัน คุณกำลังอยู่ในเส้นทางสู่การเป็นผู้เชี่ยวชาญ เมื่อคุณมองย้อนกลับไป คุณจะเห็นว่าคุณมาไกลแค่ไหน และคุณก็พอใจกับความก้าวหน้าของคุณมาก
แล้วทำไมคุณถึงรู้สึกช้าจัง เมื่อคุณสนใจเกี่ยวกับการทดสอบ การบำรุงรักษา และการออกแบบแล้ว คุณจึงรู้สึกว่าต้องใช้เวลามากขึ้นในการจัดส่งสินค้า!
เป็นไปได้ไหมที่ เป็นไปได้ เพื่อจัดส่งรหัสคุณภาพสูงอย่างรวดเร็ว?
ทั้งหมดนี้เป็นส่วนหนึ่งของกระบวนการ
ความรู้สึกนี้เป็นเรื่องธรรมดาอย่างเหลือเชื่อ ไม่ว่าคุณจะเรียนรู้อะไรก็ตาม
ตอนนี้คุณไม่ใช่มือใหม่แล้ว คุณเริ่มเห็นรูปร่างต่างๆ ทั้งหมดที่โค้ดของคุณมีได้ คุณมีทางเลือกอื่นให้คิดทบทวนทุกครั้งที่คุณวางโค้ด คุณต้องทดสอบ edge case ที่คุณไม่เคยรู้จักมาก่อน
คุณได้เรียนรู้ทักษะที่เป็นประโยชน์มากมาย แต่ตอนนี้พวกเขายังคงครุ่นคิดอยู่มาก คุณต้องชั่งน้ำหนักทุกการตัดสินใจ ดังนั้นคุณจึงรู้สึกสบายใจที่ตัดสินใจถูกต้องตามสิ่งที่คุณได้เรียนรู้
มันจะเร็วขึ้นแม้ว่า ทักษะที่คุณได้เรียนรู้จะกลายเป็นอัตโนมัติมากขึ้น คุณจะสร้างสัญชาตญาณ และคุณจะตัดสินใจได้ดีขึ้นอย่างรวดเร็ว
เป็นเรื่องที่ดีที่รู้ แต่มันไม่ได้ช่วยคุณ ตอนนี้ . สิ่งที่ สามารถ คุณทำตอนนี้เพื่อให้เสร็จเร็วขึ้นไหม
ดูเป็นขั้นตอน
หากคุณหมกมุ่นอยู่กับการเขียนโค้ดที่สมบูรณ์แบบ คุณภาพสูง และบำรุงรักษาได้สูงทุกครั้งที่วางนิ้วบนแป้นพิมพ์ คุณจะไม่มีวันทำสิ่งใดสำเร็จ
เมื่อฉันติดขัด ฉันจะเขียนโค้ดแบบเดียวกับที่ฉันเขียนบทความ คุณจะเริ่มต้นด้วยร่างคร่าวๆ อาจร่างการทดสอบ โค้ด หรือความคิดเห็นบางส่วน หรือแม้แต่เขียนความคิดบางอย่างลงบนกระดาษ ณ จุดนี้ คุณจะไม่ต้องกังวลเรื่องโครงสร้าง คุณแค่ใช้โค้ดเพื่อล้างแนวคิดที่คลุมเครือในหัวของคุณ
จากนั้น ฉันเปลี่ยนแนวคิดเหล่านั้นให้กลายเป็นการนำไปใช้อย่างตรงไปตรงมา สิ่งที่คุณอาจเรียกว่า “สิ่งที่ง่ายที่สุดที่อาจเป็นไปได้” มันไม่สมบูรณ์แบบและไม่ใกล้เคียงด้วยซ้ำ แต่ไม่ต้องกังวลกับมัน เพราะเมื่อรหัสใช้งานได้ คุณจะต้องผ่านการจัดเก็บ เคสขอบ TDD, รีแฟคเตอร์โค้ดที่ไม่ดีอย่างเห็นได้ชัด หรือทำให้ชื่อชัดเจนขึ้น
“ร่างที่กลั่นแล้ว” เหล่านี้มักจะดีพอที่จะจัดส่ง แต่ฉันมักจะทำอีกสองสามรอบ มีไม่มาก – คุณจะเริ่มเห็นผลตอบแทนที่ลดลงในไม่ช้า คุณจะใช้เวลาทำความสะอาดโค้ดมากกว่าที่ควรจะเป็น
จากนั้น หากคุณต้องการลงเอยด้วยรหัสที่สะอาดที่สุดเท่าที่จะเป็นไปได้ ปล่อยให้มันตกลงไปชั่วขณะหนึ่ง กลับมาดูอีกครั้งในอีกไม่กี่สัปดาห์หรือหลายเดือน แล้วทำอีกรอบ เมื่อถึงเวลานั้น คุณจะทราบข้อมูลเพิ่มเติมเกี่ยวกับระบบของคุณ และเรียนรู้เพิ่มเติมเกี่ยวกับวิธีเขียนโค้ดที่ยอดเยี่ยมและบำรุงรักษาได้สูง ดังนั้นคุณจะทำงานได้ดียิ่งขึ้น
เช่นเดียวกับการเขียน กระบวนการนั้นคือ:
- ร่างเค้าโครง แบบร่าง หรือต้นแบบคร่าวๆ
- เขียนการใช้งานที่เรียบง่าย ไม่มีการตัดต่อ และตรงไปตรงมา (มักได้รับคำแนะนำจาก TDD หรือเขียนพร้อมกับการทดสอบ)
- ปรับแต่ง ปรับโครงสร้างใหม่ และทำความสะอาดการใช้งานนั้นเล็กน้อย
- ปล่อยให้มันคลี่คลาย
- กลับมาทำอีกครั้งและทำอีกหนึ่งรอบ
ถือว่างานเยอะกว่าเยอะ แต่เมื่อคุณเข้าไปในด่านแบบนี้ คุณจะเคลื่อนที่เร็วขึ้นโดยไม่ต้องเดาตัวเองเป็นครั้งที่สอง และคุณจะไม่ต้องคิดมากกับการตัดสินใจระหว่างตัวเลือกที่ดีเพียงไม่กี่ตัว
บทความนี้ได้รับแรงบันดาลใจจากคำถามจาก Topher ในหน้าคำแนะนำของฉัน หากคุณมีคำถามเกี่ยวกับ Ruby and Rails และต้องการความช่วยเหลือหรือคำแนะนำ โปรดถามฉันที่นั่น!