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