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