19
คุณพูดว่าอะไรในการตรวจสอบโค้ดเมื่อบุคคลอื่นสร้างโซลูชันที่ซับซ้อนเกินควร [ปิด]
เมื่อวันก่อนฉันตรวจสอบรหัสคนในทีมของฉันเขียน โซลูชันไม่ทำงานอย่างสมบูรณ์และการออกแบบซับซ้อนเกินความหมาย - หมายถึงข้อมูลที่ไม่จำเป็นที่เก็บไว้สร้างคุณลักษณะที่ไม่จำเป็นและโดยทั่วไปรหัสนั้นมีความซับซ้อนที่ไม่จำเป็นเช่นการชุบทองและพยายามแก้ปัญหาที่ไม่มีอยู่จริง ในสถานการณ์นี้ฉันถามว่า "ทำไมมันถึงทำแบบนี้?" คำตอบคือคนอื่นรู้สึกเหมือนทำอย่างนั้น จากนั้นฉันถามว่าคุณสมบัติเหล่านี้เป็นส่วนหนึ่งของข้อมูลจำเพาะของโครงการหรือไม่หรือมีการใช้งานกับผู้ใช้หรือไม่หรือมีข้อมูลเพิ่มเติมใด ๆ ที่จะนำเสนอให้กับผู้ใช้ปลายทาง คำตอบคือไม่ ดังนั้นฉันขอแนะนำให้เขาลบความซับซ้อนที่ไม่จำเป็นทั้งหมด คำตอบที่ฉันมักจะได้รับคือ "ทำได้ดีอยู่แล้ว" มุมมองของฉันคือว่ามันไม่ได้ทำมันเป็นรถไม่ได้ทำในสิ่งที่ผู้ใช้ต้องการและค่าบำรุงรักษาจะสูงกว่าถ้ามันทำในวิธีที่ง่ายกว่าที่ฉันแนะนำ สถานการณ์ที่เทียบเท่าคือ: เพื่อนร่วมงานใช้เวลาในการเปลี่ยนรหัส 8 ชั่วโมงด้วยมือซึ่งสามารถทำได้โดยอัตโนมัติใน Resharper ใน 10 วินาที โดยธรรมชาติแล้วฉันไม่เชื่อถือการปรับโครงสร้างด้วยมือเนื่องจากมีคุณภาพที่น่าสงสัยและไม่ผ่านการทดสอบอย่างสมบูรณ์ คำตอบที่ฉันได้รับอีกครั้งคือ "ก็เรียบร้อยแล้ว" การตอบสนองที่เหมาะสมกับทัศนคตินี้คืออะไร?