How to Use This Book (วิธีการใช้หนังสือเล่มนี้)
ผมลองใช้รูปแบบต่างๆ หลายแบบก่อนที่จะตัดสินใจเลือกแบบที่ใช้ในหนังสือเล่มนี้ เทคนิคและแนวปฏิบัติต่างๆ ที่มีประโยชน์เวลาทำงานกับ legacy code นั้นอธิบายแยกเดี่ยวๆ ได้ยาก การเปลี่ยนแปลงที่ง่ายที่สุดมักจะทำได้ง่ายขึ้นถ้าคุณสามารถหา seams, สร้าง fake objects, และ break dependencies โดยใช้เทคนิคการตัด dependencies สองสามอย่าง ผมตัดสินใจว่าวิธีที่จะทำให้หนังสือเล่มนี้เข้าถึงง่ายและสะดวกคือการจัดเนื้อหาส่วนใหญ่ไว้ในรูปแบบ FAQ (คำถามที่พบบ่อย) ใน Part II , Changing Software เพราะเทคนิคเฉพาะต่างๆ มักต้องใช้เทคนิคอื่นร่วมด้วย บทต่างๆ ในส่วน FAQ จึงมีการเชื่อมโยงถึงกันอย่างหนาแน่น ในเกือบทุกบท คุณจะพบการอ้างอิงพร้อมหมายเลขหน้าไปยังบทและส่วนอื่นๆ ที่อธิบายเทคนิคและการ refactorings ที่เฉพาะเจาะจง ต้องขออภัยล่วงหน้าหากสิ่งนี้ทำให้คุณต้องพลิกหนังสือไปมาขณะพยายามหาคำตอบสำหรับคำถามของคุณ แต่ผมสันนิษฐานว่าคุณคงอยากทำแบบนั้นมากกว่าอ่านหนังสือทั้งเล่มเพื่อพยายามทำความเข้าใจว่าเทคนิคทั้งหมดทำงานอย่างไร
ใน Changing Software ผมได้พยายามตอบคำถามที่พบบ่อยมากในการทำงานกับ legacy code แต่ละบทมีชื่อตามปัญหาที่เฉพาะเจาะจง ซึ่งทำให้ชื่อบทค่อนข้างยาว แต่หวังว่ามันจะช่วยให้คุณค้นหาส่วนที่ช่วยแก้ปัญหาเฉพาะที่คุณกำลังเจอได้อย่างรวดเร็ว
Changing Software มีบทนำอยู่ชุดหนึ่ง Part I , The Mechanics of Change และแคตตาล็อกของ refactorings ที่มีประโยชน์มากในการทำงานกับ legacy code Part III , Dependency-Breaking Techniques คั่นอยู่ที่หัวและท้าย ขอแนะนำให้อ่านบทนำ โดยเฉพาะ Chapter 4 , The Seam Model บทเหล่านี้ให้บริบทและคำศัพท์เฉพาะทางสำหรับเทคนิคทั้งหมดที่จะกล่าวถึงต่อไป นอกจากนี้ ถ้าคุณพบคำศัพท์ที่ไม่ได้อธิบายไว้ในเนื้อหา ให้ค้นหาได้ใน Glossary
การ refactorings ใน Dependency-Breaking Techniques นั้นพิเศษตรงที่มันออกแบบมาให้ทำได้โดยไม่ต้องมี tests โดยมีจุดประสงค์เพื่อช่วยให้คุณสามารถเริ่มมี tests ได้ในภายหลัง ผมขอแนะนำให้คุณอ่านแต่ละเทคนิคเพื่อที่คุณจะเห็นแนวทางต่างๆ มากขึ้นเมื่อเริ่มจัดการกับ legacy code ของคุณ