ฉันสืบทอดฐานรหัสที่มีอยู่สำหรับผลิตภัณฑ์ที่เลอะเทอะอย่างน่ากลัว การออกแบบขั้นพื้นฐานไม่เพียงพอพอสมควรซึ่งน่าเสียดายที่ฉันสามารถทำได้เพียงเล็กน้อยโดยไม่มี refactor ที่สมบูรณ์ (การเชื่อมต่อสูงการทำงานร่วมกันต่ำการทำซ้ำรหัสอาละวาดไม่มีเอกสารการออกแบบทางเทคนิคการทดสอบบูรณาการแทนการทดสอบหน่วย) ผลิตภัณฑ์มีประวัติการสัมผัสกับลูกค้าที่สำคัญ "เงินสดวัว" ที่มีความอดทนน้อยที่สุดสำหรับความเสี่ยงหนี้ทางเทคนิคที่จะทำให้ชาวกรีกหน้าแดงรหัสฐานขนาดใหญ่และความซับซ้อนมากและวิธีการพ่ายแพ้การสู้รบเหนื่อยล้าทีมก่อน ฉัน.
ทีมเก่ากระโดดเรือไปยังอีกแผนกหนึ่งเพื่อให้พวกเขามีโอกาสทำลายโครงการอื่น เป็นเรื่องยากมากที่ฉันประสบกับความล้มเหลวทางเทคนิคของโครงการเมื่อเทียบกับความล้มเหลวในการจัดการโครงการ แต่นี่เป็นหนึ่งในกรณีเหล่านั้น
สำหรับช่วงเวลาที่ฉันอยู่คนเดียว แต่ฉันมีเวลามากอิสระในการตัดสินใจและทิศทางในอนาคตและความสามารถในการสร้างทีมตั้งแต่เริ่มต้นเพื่อช่วยฉัน
คำถามของฉันคือการรวบรวมความคิดเห็นเกี่ยวกับการรีแฟคเจอริ่งผลกระทบต่ำในโครงการเช่นนี้เมื่อคุณมีเวลาว่างระหว่างขั้นตอนการรวบรวมข้อกำหนดการทำงาน มีคำเตือนของคอมไพเลอร์หลายพันคำซึ่งเกือบทั้งหมดเป็นการอิมพอร์ตที่ไม่ได้ใช้ตัวแปรที่ไม่ได้อ่านที่ยังไม่อ่านการตรวจสอบชนิดและการส่งแบบไม่ปลอดภัย การจัดรูปแบบโค้ดนั้นอ่านไม่ได้และเลอะเทอะมากจนดูเหมือนว่า coder ได้รับความทุกข์จากโรค Parkinsons และไม่สามารถควบคุมจำนวนครั้งที่แถบพื้นที่ถูกกดบนบรรทัดที่กำหนด ฐานข้อมูลและทรัพยากรไฟล์เพิ่มเติมมักจะเปิดและไม่เคยปิดอย่างปลอดภัย อาร์กิวเมนต์วิธีที่ไม่มีจุดหมายวิธีการที่ซ้ำกันที่ทำสิ่งเดียวกัน ฯลฯ
ในขณะที่ฉันกำลังรอข้อกำหนดสำหรับคุณสมบัติถัดไปฉันทำความสะอาดสิ่งที่มีความเสี่ยงต่ำที่มีผลกระทบต่ำเมื่อฉันไปและสงสัยว่าฉันกำลังเสียเวลาหรือทำสิ่งที่ถูกต้อง จะเกิดอะไรขึ้นถ้าคุณสมบัติใหม่หมายถึงการริปโค้ดที่ฉันใช้ไปก่อนหน้านี้? ฉันจะเริ่มต้นวิธีการแบบ Agile และฉันเข้าใจว่าสิ่งนี้เป็นที่ยอมรับและเป็นเรื่องปกติที่จะมีการปรับโครงสร้างอย่างต่อเนื่องในระหว่างการพัฒนาแบบ Agile
คุณสามารถนึกถึงผลกระทบเชิงบวกหรือเชิงลบของฉันที่ทำสิ่งนี้ที่คุณต้องการเพิ่มหรือไม่?