คำตอบนี้ง่าย
ความสอดคล้องมีความสำคัญยิ่ง
แต่มันมาพร้อมกับข้อแม้ ...
คุณและเพื่อนร่วมงานของคุณกำลังหมกมุ่นอยู่กับความมั่นคงที่ผิดประเภท
การใช้งานจะถูกทิ้ง พวกเขาสามารถซ่อมแซมได้อย่างสมบูรณ์ด้วยองศาความสะดวกที่แตกต่างกันขึ้นอยู่กับคุณภาพและความครอบคลุมของชุดทดสอบ กังวลเกี่ยวกับสิ่งต่าง ๆ เช่น "ควรเป็นทรัพย์สินหรือไม่", "ไม่ควรใช้รหัส LININ แทนที่จะเป็นโครงสร้างระดับล่าง" มีคุณค่าน่าสงสัย มันยากที่จะผูกการวัดใด ๆ กับค่าของความสอดคล้องในระดับการใช้งาน คำถามที่ดีกว่าที่จะถามในระดับนี้คือ "รหัสนี้ทำงานตามที่โฆษณาไว้หรือไม่" TL; DR ความสอดคล้องในการใช้งานเป็นที่ "ใจน้อย" เปิดรับ hobgoblin
ทำไมความมั่นคงไม่สำคัญเท่ากับที่นี่ การใช้งานมักจะมีผู้มีส่วนร่วมจำนวนเล็กน้อย วิธีการส่วนใหญ่เขียนและไม่เคยสัมผัสอีกครั้ง ของรหัสที่เหลือจำนวนวิธีการที่มีสองผู้สนับสนุนเกือบจะแน่นอนส่วนใหญ่ รูปแบบนี้อย่างต่อเนื่องไม่มีที่สิ้นสุด ในบริบทที่สอดคล้องกันนี้ไม่สำคัญเลย หากอายุการเก็บรักษาของรหัสมีขนาดค่อนข้างเล็ก ( ไม่กี่ปี ) ผลกำไรจากความมั่นคงที่ก้าวร้าวนั้นอาจไม่ใช่ปัจจัย
นี่ไม่ได้เป็นการบอกว่าคุณควรคลั่งไคล้ในการติดตั้งใช้งานของคุณ ค่อนข้างจะบอกว่าการออกแบบที่ดีสะอาดและเรียบง่ายจะเป็นคำสั่งของขนาดที่มีค่ามากขึ้นสำหรับผู้ดูแลในอนาคตของคุณกว่าวิธีการคงตัวของจานหม้อไอน้ำโง่โดยวิธี นี่นำเราไปสู่จุดที่แท้จริง ...
API ไม่ได้ทิ้ง
นี่คือระดับรหัส APIs ทั้งหมด, บริการบนเว็บ, SDK เป็นต้นซึ่งจะต้องต้องสอดคล้องกัน ผลผลิตที่เพิ่มขึ้นจากความสอดคล้องที่หลากหลายนี้มีมากมายมหาศาลด้วยเหตุผลหลายประการ:
การทดสอบการรวม:
หากคุณรักษาความสอดคล้องของ API คุณสามารถสร้างชุดการทดสอบการรวมระบบได้ สิ่งเหล่านี้ช่วยให้ผู้พัฒนาสามารถสลับรายละเอียดการใช้งานได้อย่างอิสระและตรวจสอบความถูกต้องได้ทันที อยากเปลี่ยนอึเพื่อนร่วมงานของคุณให้เป็น LINQ ไหม การทดสอบการรวมรันหรือไม่? นอกจากนี้ยังมีการตรวจสอบความถูกต้องเมื่อเตรียมไปผลิต เนื่องจากคอมพิวเตอร์มีความเร็วสูงแล็ปท็อปเครื่องเดียวจึงสามารถ preform การทำงานของผู้ทดสอบหลายพันคนที่ใช้งานทั่วไป เท่ากับการเพิ่มจำนวนองค์กรของคุณอย่างมาก
ผลผลิต
เมื่อ API มีความสอดคล้องกันคุณสามารถคาดเดาเกี่ยวกับวิธีใช้ API ได้โดยทำตามสิ่งที่คุณเรียนรู้เกี่ยวกับการใช้ส่วนอื่น ๆ ของ API นี่เป็นเพราะ API มีลักษณะและรูปลักษณ์ที่สอดคล้องและเป็นธรรมชาติ มันหมายถึงลูกค้าของคุณใช้เวลาในการกลั่นกรองเอกสารน้อยลง การลงทะเบียนง่ายกว่าและถูกกว่า มีการถามคำถามน้อยลงกับคนที่พัฒนา API ความสม่ำเสมอทำให้ทุกคนเป็นผู้ชนะ
เหตุใดความสม่ำเสมอจึงสำคัญในสถานการณ์นี้ เนื่องจาก API มีปัญหาการใช้งานที่ตรงกันข้าม จำนวนคนที่ใช้พวกเขามักจะมากกว่าจำนวนผู้มีส่วนร่วมในการใช้งานของพวกเขา กำไรเล็กน้อยจากความมั่นคงเล็กน้อยจะถูกคูณและค่าใช้จ่ายในการบำรุงรักษาที่สอดคล้องกันจะถูกตัดจำหน่าย
ข้อสรุป
ความสอดคล้องมีราคาแพง บนใบหน้าของมันลดการผลิต มัน จำกัด นักพัฒนาและทำให้ชีวิตของพวกเขายากขึ้น มันวางข้อ จำกัด เกี่ยวกับวิธีที่พวกเขาสามารถแก้ไขปัญหาบางครั้งบังคับให้พวกเขาแก้ปัญหาด้วยวิธีที่ไม่เหมาะสม นี่เป็นเพราะเหตุผลที่พวกเขาไม่เข้าใจมีความรู้สึกไม่ดีหรือไม่เป็นส่วนตัว (สัญญานโยบายองค์กรหรือนโยบายระหว่างองค์กรขนาดใหญ่)
Raymond Hettinger ทำคะแนนได้อย่างยอดเยี่ยมในการพูดคุย Pycon 2015 ของเขาเกี่ยวกับการใช้คู่มือสไตล์ PEP8 สำหรับทีมโปรแกรมเมอร์งูใหญ่ เขาแสดงให้เห็นว่าการหมกมุ่นกับความสอดคล้องโวหารบนชิ้นส่วนของรหัสทำให้ผู้ตรวจสอบรหัสพลาดตรรกะที่ร้ายแรงและข้อบกพร่องการออกแบบ สมมติฐานของเขาสามารถสรุปได้ว่าการค้นหาความไม่สอดคล้องโวหารนั้นง่าย การกำหนดคุณภาพที่แท้จริงของโค้ดนั้นยาก
ประเด็นที่นี่สำคัญมาก ระบุตำแหน่งที่ความมั่นคงมีความสำคัญและปกป้องอย่างจริงจัง ในกรณีที่มันไม่สำคัญไม่ต้องเสียเวลาของคุณ หากคุณไม่สามารถให้วิธีการที่มีวัตถุประสงค์เพื่อวัดมูลค่าของความมั่นคง (ในกรณีข้างต้น "จำนวนพนักงานที่มีประสิทธิภาพ" ต้นทุนเป็นหน้าที่ของผลิตภาพ) และคุณไม่สามารถแสดงให้เห็นถึงผลตอบแทนที่เป็นกอบเป็นกำ องค์กรของคุณ