ฉันถือว่า "แนวปฏิบัติที่ดีที่สุด" คุณหมายถึงรายการกฎบางอย่างที่มีคนเขียนไว้ในหนังสือ สำหรับหลักสูตรหากคุณหมายถึงวลีอย่างแท้จริงแน่นอนว่าคุณควรเขียนรหัสที่ดีที่สุดที่คุณสามารถทำได้
ฉันต้องการชี้ให้เห็นหรือไม่ว่ามี "แนวปฏิบัติที่ดีที่สุด" ที่เป็นที่ยอมรับในระดับสากลหรือไม่? สำหรับกฎใด ๆ ที่ได้รับการสนับสนุนโดยผู้เชี่ยวชาญรายหนึ่งคุณสามารถค้นหาผู้เชี่ยวชาญอีกคนหนึ่งที่มีข้อมูลประจำตัวที่เท่าเทียมกัน
แต่ตรงประเด็น: คำตอบสั้น ๆ : ปกติ แต่ไม่เสมอไป
ทุกสาขามี "แนวทางปฏิบัติที่ดีที่สุด" และ "วิธีแก้ไขปัญหาตำราเรียน" สิ่งเหล่านี้แสดงถึงประสบการณ์ที่สะสมและภูมิปัญญาของหลาย ๆ คนหลายคนในหลายปีและไม่ควรละเลย แต่! มีสถานการณ์พิเศษกรณีผู้ได้รับรางวัล ฯลฯ ผู้ที่มีความสามารถอย่างแท้จริงในสาขาใด ๆ จะรู้ว่าเมื่อใดที่ต้องปฏิบัติตามกฎและเมื่อใดที่จะทำลายพวกเขา
โดยทั่วไปฉันจะบอกว่า: เริ่มต้นด้วยการทำตามกฎของหนังสือเรียน เมื่อทำตามกฎของหนังสือเรียนจะนำไปสู่ปัญหา - ความซับซ้อนที่ไม่จำเป็นประสิทธิภาพต่ำหรืออะไรก็ตาม - ให้พิจารณาว่าการละเมิดกฎนี้ในครั้งเดียวในครั้งนี้อาจไม่ใช่ความคิดที่ดีกว่า
หากคุณเพิกเฉยต่อกฎและดำเนินการตามที่คุณต้องการในเวลานั้นรหัสของคุณอาจยุ่งเหยิงไปหมด ไม่ว่าคุณจะฉลาดแค่ไหนคุณไม่ใช่โปรแกรมเมอร์คนแรกของโลก มันสมเหตุสมผลที่จะเรียนรู้จากประสบการณ์ของผู้อื่น ในชีวิตประจำวันของเรานี่คือสาเหตุที่เรามีพ่อแม่และครูและนักเทศน์: ดังนั้นเราไม่ต้องทำผิดพลาดซ้ำ ๆ ทุกครั้งเพื่อเรียนรู้ว่ามันเป็นความผิดพลาดที่โง่เง่า
แต่ถ้าคุณทำตามกฎรายการจากหนังสือบางเล่ม 100% อย่างช้าๆคุณจะพบว่าตัวเองกำลังตอกหมุดสี่เหลี่ยมจัตุรัสลงในรูกลม คนที่เขียนกฏอาจไม่เจอกับกรณีของคุณเลย และแม้ว่าพวกเขาจะมีถ้ามันหายากพอพวกเขาอาจจะไม่สนใจมัน กฎที่ใช้งานได้ 80% ของเวลานั้นเป็นกฎที่ยอดเยี่ยม - ตราบใดที่คุณเข้าใจว่ามันใช้งานได้ 80% ของเวลาและไม่ใช่ 100% ของเวลา
ฉันเขียนหนังสือเกี่ยวกับการออกแบบฐานข้อมูลที่มีกฎหลายข้อที่ฉันแนะนำให้นักออกแบบฐานข้อมูลปฏิบัติตาม (ฉันจะละเว้นจากการให้ชื่อหนังสือดังนั้นฉันจึงไม่ดูเหมือนว่าฉันเลื่อนชั้นลงในการโปรโมตตนเอง) ฉันขอแนะนำให้ทุกคนที่ต้องการออกแบบฐานข้อมูลเพื่ออ่านหนังสือเหมือนของฉันและเรียนรู้ทุกอย่างเท่าที่ทำได้ . แต่แน่นอนว่ามีบางครั้งที่คุณควรทำผิดกฎในรายการ
ฉันเคยเขียนเอกสารมาตรฐานการเขียนโปรแกรมสำหรับทีมนักพัฒนาที่ฉันเป็นผู้นำในเวลานั้น และกฎข้อสุดท้ายมีลักษณะดังนี้: "หากคุณมีเหตุผลที่ดีที่จะทำลายกฎข้อใดข้อหนึ่งข้างต้นให้ไปข้างหน้า แต่คุณต้องใส่ความคิดเห็นในรหัสของคุณเพื่ออธิบายว่าทำไมคุณถึงหักกฎถ้าคุณไม่สามารถมาได้ ด้วยเหตุผลที่ดีให้ทำตามกฎหากเขียนความคิดเห็นนั้นมีปัญหามากกว่าการทำตามกฎ เรามีเพียงไม่กี่ครั้งที่บางคนพบว่าการละเมิดกฏหมายเป็นปัญหาที่ต้องอธิบายว่าทำไม