คำแนะนำสำหรับ CodePorting AI Engine

ฟีเจอร์นี้มีประโยชน์โดยเฉพาะเมื่อทำงานกับโค้ดที่ซับซ้อนหรือเมื่อพยายามที่จะบรรลุผลลัพธ์เฉพาะในโค้ดที่สร้างขึ้น โดยการให้คำแนะนำเหล่านี้ ผู้ใช้สามารถมั่นใจได้ว่าโมเดล AI จะผลิตโค้ดที่ตรงตามความต้องการและข้อกำหนดที่แน่นอนของพวกเขา

การใช้คำแนะนำแบบ Inline

คำแนะนำแบบ Inline เป็นกลไกพิเศษที่อนุญาตให้ผู้ใช้ให้คำแนะนำเฉพาะกับโมเดล AI ในระหว่างกระบวนการทำงานที่เกี่ยวข้องกับโค้ดต้นฉบับ

หนึ่งในข้อดีหลักของการใช้คำแนะนำแบบ Inline คือมันช่วยให้ผู้ใช้สามารถปรับแต่งผลลัพธ์ของโมเดล AI โดยไม่ต้องแก้ไขโค้ดด้วยตนเองหลังจากนั้น ซึ่งสามารถประหยัดเวลาและความพยายามได้ เนื่องจากผู้ใช้สามารถทำการปรับเปลี่ยนโค้ดที่สร้างขึ้นได้อย่างรวดเร็วและง่ายดายโดยไม่ต้องเริ่มต้นใหม่

ผู้ใช้สามารถให้คำแนะนำเกี่ยวกับวิธีการปรับเปลี่ยนหรือเพิ่มประสิทธิภาพบางส่วนของโค้ดโดยใช้แท็ก <ai>...</ai> ในความคิดเห็นภายในโค้ด

ตัวอย่างที่ 1: ควบคุมการตั้งชื่อ

ตัวอย่างเช่น คำแนะนำบอกให้ CodePorting AI engine เปลี่ยนชื่อฟังก์ชัน Python crc_check เป็น verifyCrc โดยใช้ Python to Java converter และ Model1:

# <ai>Rename function crc_check to verifyCrc</ai>
def crc_check(data, div):
   ...
   return crc

ผลลัพธ์จากตัวแปลงคือโค้ด Java ที่มีเมธอด verifyCrc แทนที่ crc_check หรือ crcCheck:

// โค้ดนี้เป็นการแปลจาก Python เป็น Java
public class CrcVerifier {
    public static int verifyCrc(byte[] data, byte[] divisor) {
        // การดำเนินการตรวจสอบ CRC
        int crc = 0; // ตัวแทนสำหรับการคำนวณ CRC
        // เพิ่มตรรกะการคำนวณ CRC ที่นี่
        return crc;
    }
}

ตัวอย่างที่ 2: สร้างโค้ดโครงสร้างพื้นฐาน

นี่คือตัวอย่างอีกวิธีหนึ่งในการทำให้ AI Engine สร้างโค้ดโครงสร้างพื้นฐานโดยใช้ Python to Java converter และ Model1:

# <ai>Rename function crc_check to verifyCrc</ai>
# <ai>Create class SecurityServiceImpl and ISecurityService interface</ai>
def crc_check(data, div):
   ...
   return crc

ผลลัพธ์คือโค้ดที่มี ISecurityService อินเตอร์เฟซที่ถูกนำไปใช้โดย SecurityServiceImpl:

// โค้ดนี้ถูกแปลจาก Python เป็น Java
public interface ISecurityService {
    int verifyCrc(byte[] data, byte[] div);
}

public class SecurityServiceImpl implements ISecurityService {
    @Override
    public int verifyCrc(byte[] data, byte[] div) {
        // นำตรรกะการตรวจสอบ CRC มาที่นี่
        int crc = 0;
        // ...
        return crc;
    }
}

ตัวอย่างที่ 3: ระบุการพึ่งพา

นี่คือตัวอย่างวิธีการเพิ่มการบันทึกลงในคลาสโดยใช้ Python to Java converter และ Model1:

# <ai>Rename function crc_check to verifyCrc</ai>
# <ai>Create class SecurityServiceImpl and ISecurityService interface with application context dependency in ctor</ai>
# <ai>Add logging dependency to the class</ai>
def crc_check(data, div):
   ...
   # <ai>throw an exception instead of returning result</ai>
   return crc

ผลลัพธ์คือมีการฉีด logger ผ่านตัวสร้างของ SecurityServiceImpl:

// โค้ดนี้เป็นการแปลจาก Python เป็น Java โดยมีการดำเนินการบริการความปลอดภัยพร้อมฟังก์ชันการตรวจสอบ CRC
public interface ISecurityService {
    // กำหนดวิธีการที่อินเตอร์เฟซนี้จะเปิดเผย
}

public class SecurityServiceImpl implements ISecurityService {
    private final Logger logger;

    public SecurityServiceImpl(Logger logger) {
        this.logger = logger;
    }

    public void verifyCrc(byte[] data, byte[] div) throws Exception {
        // รายละเอียดการดำเนินการที่นี่...
        // ขว้างข้อยกเว้นแทนที่จะส่งคืนผลลัพธ์
        throw new Exception("การตรวจสอบ CRC ล้มเหลว");
    }
}