JavaFactory – ปลั๊กอินสำหรับทำงาน Java แบบทำซ้ำให้อัตโนมัติ (เดโม All tests passed)
(github.com/JavaFactoryPluginDev)JavaFactory
JavaFactory เป็นปลั๊กอิน IntelliJ ที่สร้างโค้ด Java แบบทำซ้ำโดยอัตโนมัติ
โดยให้ผู้ใช้กำหนดกฎการสร้างโค้ดและกฎการรวบรวม reference ได้เอง จึงช่วยชดเชยข้อจำกัดของการสร้างโค้ดด้วย AI แบบเดิม
สำหรับวิธีติดตั้งและวิธีใช้งานอย่างละเอียด โปรดดูที่ GitHub README : )
🧭 ภาพรวม
ช่วงหลังมานี้มีเครื่องมือสร้างโค้ดที่ใช้ LLM ออกมาหลากหลาย แต่หลายครั้งโค้ดที่สร้างขึ้นมากลับนำไปใช้งานได้ทันทีได้ยาก
โดยเฉพาะกรณีที่โค้ดไม่ผ่านการทดสอบ หรือสร้างเป็นโค้ดทั่วไปที่ไม่ตรงกับสไตล์ของผู้พัฒนา จนต้องกลับมาแก้งานซ้ำอยู่บ่อยครั้ง
JavaFactory คือเครื่องมือที่ออกแบบมาเพื่อแก้ปัญหาเหล่านี้
โดยนิยามงานที่ผู้ใช้ต้องทำซ้ำเป็น แพตเทิร์นแบบภาษาธรรมชาติ และระบุแหล่งอ้างอิงที่จำเป็นด้วย annotation เพื่อให้ได้ผลลัพธ์ที่คาดเดาได้
เดโม
1. เดโม 90 วินาที: 400 Lines in 20s – All Tests Passed
วิดีโอด้านล่างแสดงให้เห็นกระบวนการที่ JavaFactory สร้างโค้ดมากกว่า 400 บรรทัดภายใน 20 วินาที และผ่านการทดสอบทั้งหมด
ฟีเจอร์ที่มีให้
หลักการและฟีเจอร์ที่มีให้ค่อนข้างเรียบง่าย
มีฟังก์ชันและกฎที่ช่วยให้ผู้ใช้ปรับแต่งเนื้อหาที่จะเข้าไปใน System Prompt และ User Prompt ได้เอง
1. การกำหนดแพตเทิร์นด้วยภาษาธรรมชาติ
สามารถนิยามงานที่ทำซ้ำด้วยภาษาธรรมชาติได้
และระบุได้อย่างชัดเจนว่า จะสร้างอะไร, จะสร้างอย่างไร, จะอ้างอิงคลาสใด
ระบบจะประกอบ prompt ขึ้นจากแพตเทิร์นในตอนรัน
มี UI สำหรับบันทึก / แก้ไขค่าแพตเทิร์น (GitHub README อ้างอิง)
2. การรวบรวม reference ด้วย annotation
คลาสที่จะใช้ในแพตเทิร์นจะถูกระบุอย่างชัดเจนด้วย annotation
เนื่องจากจะรวมเฉพาะคลาสที่ตรงกับบทบาทที่กำหนดไว้ จึงสามารถ รวบรวม reference ได้อย่างแม่นยำโดยไม่มีบริบทที่ไม่จำเป็น
ประเภทของ annotation
-
@JavaFactoryData- รวบรวม reference ของคลาสแบบ recursive โดยอิงจาก
referencedData - ตัวอย่าง: domain model, entity เป็นต้น
- รวบรวม reference ของคลาสแบบ recursive โดยอิงจาก
-
@JavaFactoryApi- รวบรวมเฉพาะ
referencedApiที่ระดับความลึก 1 ชั้น - สามารถระบุ implementation, test, fixture class เพิ่มเติมแบบเลือกได้
- ตัวอย่าง: API interface เช่น Reader, Writer, Validator
- รวบรวมเฉพาะ
ทรัพยากร
สำหรับวิธีติดตั้งและวิธีใช้งานอย่างละเอียด โปรดดูที่ GitHub README : )
ยังไม่มีความคิดเห็น