ฉันทำงานเกี่ยวกับโปรเจคซอฟต์แวร์เป็นส่วนใหญ่มานานกว่า 5 ปีแล้ว มันเป็นความยุ่งเหยิงที่จะเริ่มต้นด้วย (ฉันเป็นนักพัฒนาที่สามหรือสี่ที่จะทำงานกับมัน) และแม้ว่ามันจะเป็นระเบียบน้อยกว่าตอนนี้มันยังคงไม่เป็นระเบียบ อัตราความคืบหน้าในการควบคุมมันเป็นน้ำแข็งและฉันเริ่มรู้สึกท้อแท้กับสถานะที่มันเข้ามาฉันจะเริ่มแก้ไขได้อย่างไร
ข้อมูลเฉพาะของโครงการ: เป็นโปรแกรมการขายที่เขียนขึ้นเกือบทั้งหมดใน Visual Basic Classic (VB6) ที่มีแบ็คเอนด์ MySQL และเครื่องมือการรายงานที่เขียนใน C # โมดูลการรายงาน C # นั้นมีความสุขที่ได้ทำงานมันเป็นเพียงการเขียนในช่วงสองสามปีที่ผ่านมาและก่อนหน้านั้นรายงานทั้งหมดได้ทำใน Crystal Reports 9 (ใช่เรายังมีรายงานบางส่วนที่ต้องใช้)
อย่างไรก็ตามโปรแกรมจริงนั้นเป็นหายนะที่สมบูรณ์ มีทั้งหมด LOC ค่อนข้างไม่เกิน 90k และความคิดเห็นประมาณ 10k บรรทัด (ส่วนใหญ่ไม่ใช่เอกสาร แต่เป็นรหัสเก่าที่แสดงความคิดเห็น) 158 ไฟล์ฟอร์มและ 80 ไฟล์โมดูล ฉันไม่ทราบเลยว่ามีการใช้งานจริงกี่รายการเพราะคุณสมบัติบางอย่างของโปรแกรมนั้นถูกคัดค้านและ (เอ่อบางครั้ง) ตั้งข้อสังเกตเช่นนี้โดยไม่ต้องลบรหัสที่เกี่ยวข้องออกจากโปรแกรม ฉันเดาว่ารหัส 50% เท่านั้นที่ใช้งานได้จริง
ฉันกลัวที่จะสัมผัสรหัสจำนวนมากเพียงเพราะฉันไม่แน่ใจว่าฉันทำลายสิ่งที่ลูกค้าที่ไม่ชัดเจนคนใดคนหนึ่งต้องพึ่งพามันเกิดขึ้นในหลายครั้งเกินกว่าที่ฉันจะนับได้ มันเหมือนกับว่ามีทุ่นระเบิดเกลื่อนกลาดอยู่ทั่วทั้งรหัส
ไม่มีโครงสร้างใด ๆ ในโครงการจริงๆ มันไม่ได้มุ่งเน้นวัตถุยกเว้นในบางแห่งที่ฉันมีความอดทนในการปฏิรูปจนถึงขณะนี้ หากคุณต้องการรับข้อมูลในฟอร์มคุณจะสร้างอินสแตนซ์ของวัตถุฐานข้อมูลประกาศแบบสอบถามของคุณที่นั่นในฟังก์ชันเรียกใช้งานและทำสิ่งที่คุณต้องการด้วยชุดข้อมูล
เมื่อฉันเริ่มทำงานในโครงการไม่มีการควบคุมแหล่งที่มาในการใช้งาน ฉันพยายามสนับสนุนให้คนอื่น ๆ ที่ฉันกำลังใช้งานอยู่ แต่ฉันเป็นคนใหม่และความพยายามของฉันที่จะให้ผู้คนใช้การโค่นล้มทั้งหมด แต่ล้มเหลว ในที่สุดนักพัฒนานำของ บริษัท ก็ประสบปัญหาข้อบกพร่องในช่วงสองสามปีที่ผ่านมาและเขาก็ทำให้แน่ใจว่านักพัฒนาทั้งหมดจะใช้การควบคุมแหล่งที่มากับทุกโครงการในตอนนี้ดังนั้นอย่างน้อยนั่นก็คือความคืบหน้า
ฉันคิดว่าถ้าฉันสามารถทำงานในการปฏิรูปโครงการเต็มเวลาฉันจะสามารถทำให้ความคืบหน้าที่เหมาะสมและอาจมีการประเมินว่ามันจะใช้เวลานานแค่ไหนในการปรับปรุงโครงการให้เสร็จสมบูรณ์ แต่มันใช้งานอยู่และฉัน ถูกขอให้ดับไฟแก้ไขบั๊กเพิ่มคุณสมบัติ ฯลฯ อย่างต่อเนื่อง
ดังนั้นฉันจะเริ่มแก้ไขโครงการนี้จริง ๆ ได้อย่างไร ลองเครื่องมือ VB6 ด้วยภาษาอื่นหรือไม่? ลองและเขียนโปรแกรมใหม่ในเวลาว่างหรือไม่? หรือเป็นสิ่งที่สิ้นหวังโดยสิ้นเชิง?
ปรับปรุง
หลังจากโพสต์นี้ฉันกลับไปที่โครงการด้วยความกระตือรือร้นที่ต่ออายุ แต่กลับไปสู่ความสิ้นหวังภายในไม่กี่เดือนหลังจากที่เห็นอัตราความก้าวหน้าช้า จากนั้นฉันก็วนรอบนี้ซ้ำอีก 2 หรือ 3 ครั้งในปีหน้า
ฉันได้ย้ายไปทำงานอื่น แม้ว่าหลังจาก vb6 เป็นเวลาหลายปีและมีเพียงแค่ประสบการณ์ต่อพ่วงกับเทคโนโลยีอื่น ๆ การค้นหานั้นยากและฉันก็ต้องเผชิญกับการถูกปฏิเสธหลายครั้งตลอดทาง คำแนะนำของฉันกับคนอื่น ๆ ในสถานการณ์นี้คือการพิจารณาจากปัจจัยนี้เพียงอย่างเดียว พิจารณาความเสียหายที่คุณสามารถทำเพื่ออาชีพของคุณโดยอยู่ในตำแหน่งที่สิ้นสุดเช่นนี้