เรื่องการจัดรูปแบบรหัส แม้เรื่องการเยื้อง และความมั่นคงมีความสำคัญมากกว่าการปรับปรุงเล็กน้อย แต่โครงการมักจะไม่มีคู่มือสไตล์ชัดเจนชัดเจนตรวจสอบได้และบังคับใช้ตั้งแต่วันที่ 1 และการปรับปรุงที่สำคัญอาจมาถึงทุกวัน บางทีคุณอาจพบว่า
SELECT id, name, address
FROM persons JOIN addresses ON persons.id = addresses.person_id;
อาจเขียนได้ดีกว่า / เขียนได้ดีกว่า
SELECT persons.id,
persons.name,
addresses.address
FROM persons
JOIN addresses ON persons.id = addresses.person_id;
ในขณะที่ทำงานเพื่อเพิ่มคอลัมน์เพิ่มเติมในแบบสอบถาม บางทีนี่อาจเป็นคำถามที่ซับซ้อนที่สุดในทั้งสี่ข้อความในรหัสของคุณหรือข้อความค้นหาเล็กน้อยในหมู่คนนับพัน ไม่ว่าการเปลี่ยนแปลงจะทำได้ยากเพียงใดคุณตัดสินใจได้ว่ามันคุ้มค่า แต่คุณจะติดตามการเปลี่ยนแปลงของรหัสในการเปลี่ยนแปลงการจัดรูปแบบที่สำคัญได้อย่างไร คุณเพียงแค่ยอมแพ้และพูดว่า "นี่คือจุดที่เราเริ่มต้นอีกครั้ง" หรือคุณสามารถฟอร์แมตแบบสอบถามทั้งหมดในประวัติพื้นที่เก็บข้อมูลทั้งหมด
หากคุณใช้ระบบควบคุมเวอร์ชันแบบกระจายเช่น Git คุณสามารถย้อนกลับไปสู่การคอมมิทครั้งแรกและฟอร์แมตใหม่จากที่นี่ไปเป็นสถานะปัจจุบัน แต่มันเป็นงานจำนวนมากและทุกคนจะต้องหยุดทำงานชั่วคราว (หรือเตรียมพร้อมสำหรับแม่ของการรวมทั้งหมด) ในขณะที่มันกำลังดำเนินอยู่ มีวิธีที่ดีกว่าในการเปลี่ยนประวัติศาสตร์ซึ่งให้ผลลัพธ์ที่ดีที่สุด:
- สไตล์เดียวกันในทุกการกระทำ
- ผสานงานน้อยที่สุด
?
การชี้แจงนี้ไม่ได้เกี่ยวกับแนวทางปฏิบัติที่ดีที่สุดเมื่อเริ่มต้นโครงการ แต่ควรทำอย่างไรเมื่อการปรับโครงสร้างขนาดใหญ่ถือว่าเป็น Good Thing ™ แต่คุณยังต้องการประวัติย้อนหลังได้ ไม่เคยเขียนประวัติศาสตร์ใหม่ยอดเยี่ยมหากเป็นวิธีเดียวที่จะทำให้แน่ใจว่าเวอร์ชันของคุณใช้งานได้เหมือนเดิมเสมอ แต่ประโยชน์ของนักพัฒนาของการเขียนใหม่ทั้งหมดจะเป็นอย่างไร โดยเฉพาะอย่างยิ่งถ้าคุณมีวิธี (การทดสอบคำจำกัดความของไวยากรณ์หรือไบนารีที่เหมือนกันหลังจากการรวบรวม) เพื่อให้แน่ใจว่ารุ่นที่เขียนใหม่จะทำงานในลักษณะเดียวกับต้นฉบับหรือไม่