CodePorting AI Engine Instructies

Deze functie is bijzonder nuttig bij het werken met complexe codebases of wanneer men specifieke resultaten in de gegenereerde code probeert te bereiken. Door deze instructies te geven, kunnen gebruikers ervoor zorgen dat het AI-model code produceert die aan hun exacte vereisten en specificaties voldoet.

Gebruik van Inline Instructies

Inline instructie is een speciaal mechanisme dat gebruikers in staat stelt om specifieke richtlijnen aan AI-modellen te geven tijdens het proces van taken met betrekking tot de brontekst.

Een belangrijk voordeel van het gebruik van inline instructies is dat het gebruikers in staat stelt om de output van het AI-model fijn af te stemmen zonder de code handmatig te hoeven bewerken. Dit kan tijd en moeite besparen, omdat gebruikers snel en eenvoudig aanpassingen aan de gegenereerde code kunnen maken zonder helemaal opnieuw te moeten beginnen.

Gebruikers kunnen instructies geven over hoe bepaalde delen van de code moeten worden gewijzigd of geoptimaliseerd door gebruik te maken van <ai>...</ai>-tags in opmerkingen binnen de code.

Voorbeeld 1: Controleer Naamgeving

Bijvoorbeeld, de instructie vertelt de CodePorting AI-engine om de Python-functie crc_check te hernoemen naar verifyCrc met behulp van de Python naar Java converter en Model1:

# <ai>Hernoem functie crc_check naar verifyCrc</ai>
def crc_check(data, div):
   ...
   return crc

De output van de converter is Java-code die de verifyCrc-methode bevat in plaats van crc_check of crcCheck:

// Deze code is een vertaling van Python naar Java
public class CrcVerifier {
    public static int verifyCrc(byte[] data, byte[] divisor) {
        // Implementatie van de CRC-controle
        int crc = 0; // Plaatsvervanger voor CRC-berekening
        // Voeg hier de logica voor de CRC-berekening toe
        return crc;
    }
}

Voorbeeld 2: Genereer Infrastructuurcode

Hier is een ander voorbeeld van hoe je de AI-engine kunt laten een scaffold-code maken met behulp van de Python naar Java converter en Model1:

# <ai>Hernoem functie crc_check naar verifyCrc</ai>
# <ai>Maak klasse SecurityServiceImpl en interface ISecurityService</ai>
def crc_check(data, div):
   ...
   return crc

Als resultaat bevat de outputcode de ISecurityService interface die wordt geïmplementeerd door SecurityServiceImpl:

// Deze code is vertaald van Python naar Java
public interface ISecurityService {
    int verifyCrc(byte[] data, byte[] div);
}

public class SecurityServiceImpl implements ISecurityService {
    @Override
    public int verifyCrc(byte[] data, byte[] div) {
        // Implementeer hier de logica voor de CRC-verificatie
        int crc = 0;
        // ...
        return crc;
    }
}

Voorbeeld 3: Specificeer Afhankelijkheden

Hier is een voorbeeld van hoe je logging aan de klasse kunt toevoegen met behulp van de Python naar Java converter en Model1:

# <ai>Hernoem functie crc_check naar verifyCrc</ai>
# <ai>Maak klasse SecurityServiceImpl en interface ISecurityService met afhankelijkheid van de applicatiecontext in de constructor</ai>
# <ai>Voeg loggingafhankelijkheid toe aan de klasse</ai>
def crc_check(data, div):
   ...
   # <ai>gooi een uitzondering in plaats van het resultaat terug te geven</ai>
   return crc

Als resultaat wordt een logger geïnjecteerd via de constructor van SecurityServiceImpl:

// Deze code is een vertaling van Python naar Java, die een beveiligingsdienst implementeert met een CRC-verificatiefunctie.
public interface ISecurityService {
    // Definieer de methoden die deze interface zal blootstellen
}

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 {
        // Implementatiedetails hier...
        // gooi een uitzondering in plaats van het resultaat terug te geven
        throw new Exception("CRC-verificatie mislukt");
    }
}