มีความสัมพันธ์ระหว่างความซับซ้อนของรหัสและประสิทธิภาพของนักพัฒนาหรือไม่


10

เวลาที่ใช้ในการปรับเปลี่ยนโค้ดฐานใหม่นั้นคุ้มค่าหรือไม่ในระยะยาวในแง่ของประสิทธิภาพการทำงานของนักพัฒนาซอฟต์แวร์

ดูเหมือนว่าฉันค่อนข้างชัดเจนว่าการปรับเปลี่ยนระบบที่สะอาดและออกแบบมาอย่างดีนั้นง่ายกว่าและเร็วกว่าการใช้ระบบที่ออกแบบมาไม่ดี แต่ฉันก็มีหลักฐานที่ชัดเจน มีการศึกษาเกี่ยวกับหัวข้อนี้หรือไม่?



1
เริ่มรักษาระเบียบด้วยตัวคุณเองและเป็นผู้ตัดสิน
Tulains Córdova

คำตอบ:


16

สังเกตุซอฟต์แวร์ที่มีตัวชี้วัดความซับซ้อนสูงกว่าเช่นความซับซ้อนตามวัฏจักรจะยากที่จะรักษา มีการวิจัยสนับสนุนเดทกลับไปปี 1970 ( "โครงการความซับซ้อนและโปรแกรมเมอร์ผลผลิต", ET เฉิน) นอกจากนี้ยังมีงานที่แสดงให้เห็นว่ามีความหนาแน่นซับซ้อนซึ่งเป็นความซับซ้อน cyclomatic กว่าขนาดของระบบยังเกี่ยวข้องกับเวลาการบำรุงรักษา ( "Cyclomatic ความหนาแน่นของความซับซ้อนและการบำรุงรักษาการผลิตซอฟต์แวร์" GK ปลา CF Kemerer)ซึ่งยังสามารถใช้ได้ฟรีที่นี่ น่าเสียดายที่จำเป็นต้องมีการสมัครสมาชิก IEEE สำหรับกระดาษของเฉิน แต่คุณสามารถลองค้นหาจากแหล่งอื่น ๆ ได้หากคุณสนใจ

จากมุมมองที่มีคุณภาพมักจะคุ้มค่าที่จะใช้เวลาในการปรับโครงสร้างใหม่โดยสมมติว่าคุณมีกรอบการทดสอบเพื่อป้องกันไม่ให้เกิดข้อบกพร่องใหม่ สิ่งนี้จะช่วยให้คุณสามารถใช้คุณสมบัติใหม่ ๆ กับระบบของคุณเพิ่มการทดสอบเพิ่มเติมและฝึกอบรมนักพัฒนาใหม่ให้ทำงานได้ง่ายขึ้น

อย่างไรก็ตามในที่สุดมีความกดดันในการส่งมอบฟังก์ชันการทำงานใหม่และมูลค่าเพิ่ม คุณจำเป็นต้องปรับสมดุล refactoring ด้วยการใช้งานฟังก์ชั่นใหม่และซ่อมแซมข้อบกพร่อง


2
อีกจุดที่เพิ่มคือเมื่อคุณ refactor คุณอาจใช้คุณสมบัติในลักษณะที่ดีขึ้น / มีประสิทธิภาพมากขึ้น / สะอาด มีสุภาษิตที่ฉันได้ยินมานับครั้งไม่ถ้วนถึงผลกระทบของ "ใน 5 ปีคุณจะประจบประแจงว่าคุณคิดว่ารหัสของคุณคือ" ดี ""
วอร์เรน

1
@hakre ฉันตรวจสอบเมื่อฉันโพสต์สิ่งนี้และอีกครั้งตอนนี้โดยใช้ทั้งการค้นหาเว็บของ Google และ Google Scholar ในตอนแรกฉันเขียนโพสต์นี้ไม่มีทั้งกระดาษโดยไม่ต้องซื้อ อย่างไรก็ตามตั้งแต่นั้นมามีการโพสต์บทความหนึ่งเรื่องบนโดเมนของ University of Pittsburgh ซึ่งดูเหมือนว่าจะเป็นของผู้เขียนคนหนึ่งและฉันได้เพิ่มลิงก์ลงไป กระดาษอื่นไม่สามารถใช้งานได้ฟรี ฉันเพิ่มชื่อลงในเนื้อหาของโพสต์เพื่อทำให้การค้นหาง่ายขึ้นเล็กน้อย หากคุณไม่ต้องการอ่านบทความคุณจะต้องยอมรับการวิเคราะห์ของฉันควบคู่ไปกับความรู้และประสบการณ์ของฉัน
โธมัสโอเวนส์

0

ฉันหลังจากหลักฐานที่มั่นคงบางอย่าง

จากนั้นหยุดเสียเวลาที่นี่

  1. ค้นหารหัสที่มีราคาแพงเพื่อรักษา มันเป็นเรื่องง่าย. ดูตั๋วปัญหาขององค์กรของคุณ

  2. ค้นหารหัสบางอย่างที่ถูกรักษา ค้นหารหัสที่ทำงานบ่อย แต่มีตั๋วน้อยหรือไม่มีปัญหา

  3. วัดความซับซ้อนด้วยเครื่องมือความซับซ้อนที่มีอยู่อย่างกว้างขวาง

  4. ได้รับความสุขในหลักฐาน

ตอนนี้คุณได้ให้หมายเลขเพื่อยืนยันความชัดเจน


5
ไม่ได้จริงๆ ความซับซ้อนของงานที่ดำเนินการโดยซอฟต์แวร์จะต้องแตกต่างจากความซับซ้อนที่เพิ่มที่เกิดจากการใช้งานที่เลือก
reinierpost

4
-1 ไม่ใช่คำตอบ
Dave Hillier
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.