โดยปกติเมื่อมีคนขอให้ออกไปจากสิ่งที่มีการใช้อย่างแพร่หลายทดสอบอย่างดีตรวจสอบในหลาย ๆ แพลตฟอร์มมันเป็นการแสดงออกถึงปัญหาพื้นฐานที่รู้จักกันในชื่อ "กลิ่นรหัส" และการสะสมของ "หนี้ทางเทคนิค" หรือ "รหัสที่ไม่มีการควบคุม หนี้" ไฟล์เก็บถาวร GNU ได้สร้างหนี้รหัสค่อนข้างมากในช่วงหลายปีที่ผ่านมาและเมื่อ codebase ไม่ได้รับการดูแลอย่างถูกต้องก็สามารถไปถึงจุดแตกหักได้ (รหัสดั้งเดิมและแม้แต่รหัสมรดกที่ผิดปกติ)
โดยปกติเราจะดำเนินการกระบวนการวิศวกรรมซ้ำและการปรับโครงสร้างใหม่ตามช่วงเวลาเพื่อควบคุมสิ่งนี้ ดังนั้นคำถามจริงที่ถูกวางที่นี่คือว่า coreutils รุ่นปรับปรุงใหม่ได้รับการพัฒนาหรือไม่ แน่นอนว่านี่รวมถึงความเป็นไปได้ของการเปลี่ยนทันที (เป็นกรณีพิเศษ) - เช่นเดียวกับ Wayland ที่กำลังถูกขว้างให้เป็น X ... นักพัฒนาจำนวนมากที่ออกมาจากค่าย X
ข้อเสนอแนะของฉันคือการเข้าไปในและ refactor coreutils ใครบางคนต้องทำมัน และใครก็ตามที่หยิบยกประเด็นเรื่องการเปลี่ยนแกนกลาง - ความคิดของคุณเกี่ยวกับโครงการของคุณ
ด้วยเหตุนี้ให้ใช้ประโยชน์จากระบบอัตโนมัติใด ๆ ที่คุณสามารถหาได้: การเปลี่ยนโครงสร้างเครื่องยนต์เช่น cscout หรือสิ่งอื่นใดที่ใช้วิธีการวิเคราะห์ / สังเคราะห์ขั้นสูงเพิ่มเติม แต่การวิเคราะห์เชิงลึกยังคงเป็นพื้นที่ที่ค่อนข้างใหม่และเปิดกว้างสำหรับการวิจัยเชิงรุกและข้ามไปสู่ปัญญาประดิษฐ์ (วิศวกรซอฟต์แวร์หุ่นยนต์)
ระบบสาธารณูปโภคส่วนใหญ่ควรมีห้องทดสอบอยู่แล้วดังนั้นการตรวจสอบสามารถทำได้ด้วยการเปลี่ยนแปลงแบบเป็นขั้นตอนที่ก้าวหน้า + ขั้นตอนการทดสอบการถดถอยอัตโนมัติ ซึ่งสามารถไปได้ค่อนข้างเร็ว (เช่นอัปเดตการแก้ไข 10 ครั้งขึ้นไป / วัน) ความซับซ้อนของกระบวนการนี้เกิดขึ้นหากมีการพึ่งพาฮาร์ดแวร์หรือซอฟต์แวร์ระดับต่ำที่ใดก็ได้ในชุดซอฟต์แวร์ ตั้งแต่นั้นมาเกี่ยวข้องกับการตรวจสอบในหลายแพลตฟอร์ม ฉันไม่รู้มากว่ามี coreutils; ควรมีการแยกบางอย่างจากฮาร์ดแวร์หรือเลเยอร์ซอฟต์แวร์ระดับต่ำ (เช่นจำนวนสถานที่ที่ coreutils รู้ประเภทใดระบบไฟล์ที่ใช้ควรมีน้อยที่สุดหรือดีกว่าศูนย์) เครื่องจำลองและเครื่องเสมือนใช้สำหรับการทดสอบหลายแพลตฟอร์มมีข้อ จำกัด ตัวอย่างเช่น Mac OS X ได้รับการออกแบบมาโดยเฉพาะเพื่อขัดขวางความสามารถในการเลียนแบบหรือ VM