CodePorting AI Engine Instruktioner

Funktionen er særligt nyttig, når man arbejder med komplekse kodebaser eller når man forsøger at opnå specifikke resultater i den genererede kode. Ved at give disse instruktioner kan brugerne sikre, at AI-modellen producerer kode, der opfylder deres præcise krav og specifikationer.

Brug af Inline Instruktion

Inline instruktion er en særlig mekanisme, der gør det muligt for brugerne at give specifik vejledning til AI-modeller under processen med opgaver relateret til kildekode.

En vigtig fordel ved at bruge inline instruktion er, at det giver brugerne mulighed for at finjustere outputtet fra AI-modellen uden at skulle redigere koden manuelt bagefter. Dette kan spare tid og kræfter, da brugerne hurtigt og nemt kan foretage justeringer i den genererede kode uden at skulle starte forfra.

Brugerne kan give instruktioner om, hvordan bestemte dele af koden skal ændres eller optimeres ved at bruge <ai>...</ai> tags i kommentarer inden i koden.

Eksempel 1: Kontrol af Navngivning

For eksempel instruerer instruktionen CodePorting AI-motoren til at omdøbe Python-funktionen crc_check til verifyCrc ved hjælp af Python til Java converter og Model1:

# <ai>Omdøb funktionen crc_check til verifyCrc</ai>
def crc_check(data, div):
   ...
   return crc

converterens output er Java-kode, der har verifyCrc-metoden i stedet for crc_check eller crcCheck:

// Denne kode er en oversættelse fra Python til Java
public class CrcVerifier {
    public static int verifyCrc(byte[] data, byte[] divisor) {
        // Implementering af CRC kontrol
        int crc = 0; // Pladsholder for CRC beregning
        // Tilføj CRC beregningslogik her
        return crc;
    }
}

Eksempel 2: Generere Infrastrukturkode

Her er et andet eksempel på, hvordan man får AI-motoren til at oprette en scaffold-kode ved hjælp af Python til Java converter og Model1:

# <ai>Omdøb funktionen crc_check til verifyCrc</ai>
# <ai>Opret klassen SecurityServiceImpl og ISecurityService interface</ai>
def crc_check(data, div):
   ...
   return crc

Som resultat indeholder outputkoden ISecurityService interface implementeret af SecurityServiceImpl:

// Denne kode er oversat fra Python til Java
public interface ISecurityService {
    int verifyCrc(byte[] data, byte[] div);
}

public class SecurityServiceImpl implements ISecurityService {
    @Override
    public int verifyCrc(byte[] data, byte[] div) {
        // Implementer CRC verifikationslogikken her
        int crc = 0;
        // ...
        return crc;
    }
}

Eksempel 3: Angive Afhængigheder

Her er et eksempel på, hvordan man tilføjer logging til klassen ved hjælp af Python til Java converter og Model1:

# <ai>Omdøb funktionen crc_check til verifyCrc</ai>
# <ai>Opret klassen SecurityServiceImpl og ISecurityService interface med applikationskontekstavhængighed i konstruktøren</ai>
# <ai>Tilføj logging afhængighed til klassen</ai>
def crc_check(data, div):
   ...
   # <ai>kast en undtagelse i stedet for at returnere resultatet</ai>
   return crc

Som resultat injiceres en logger via konstruktøren af SecurityServiceImpl:

// Denne kode er en oversættelse fra Python til Java, der implementerer en sikkerhedstjeneste med en CRC verifikationsfunktion.
public interface ISecurityService {
    // Definer metoder, som dette interface vil eksponere
}

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 {
        // Implementeringsdetaljer her...
        // kast en undtagelse i stedet for at returnere resultatet
        throw new Exception("CRC verifikation mislykkedes");
    }
}