Instrucciones del Motor de IA CodePorting

La función es particularmente útil al trabajar con bases de código complejas o al intentar lograr resultados específicos en el código generado. Al proporcionar estas instrucciones, los usuarios pueden asegurarse de que el modelo de IA produzca código que cumpla con sus requisitos y especificaciones exactas.

Uso de Instrucciones en Línea

La instrucción en línea es un mecanismo especial que permite a los usuarios proporcionar orientación específica a los modelos de IA durante el proceso de tareas relacionadas con el código fuente.

Un beneficio clave de usar instrucciones en línea es que permite a los usuarios ajustar la salida del modelo de IA sin tener que editar manualmente el código después. Esto puede ahorrar tiempo y esfuerzo, ya que los usuarios pueden realizar ajustes rápida y fácilmente en el código generado sin tener que empezar desde cero.

Los usuarios pueden dar instrucciones sobre cómo ciertas partes del código deben ser modificadas u optimizadas utilizando las etiquetas <ai>...</ai> en comentarios dentro del código.

Ejemplo 1: Control de Nombres

Por ejemplo, la instrucción indica al motor de IA CodePorting que renombre la función de Python crc_check a verifyCrc utilizando el convertidor de Python a Java converter y Model1:

# <ai>Renombrar la función crc_check a verifyCrc</ai>
def crc_check(data, div):
   ...
   return crc

La salida del convertidor es código Java que tiene el método verifyCrc en lugar de crc_check o crcCheck:

// Este código es una traducción de Python a Java
public class CrcVerifier {
    public static int verifyCrc(byte[] data, byte[] divisor) {
        // Implementación de la verificación de CRC
        int crc = 0; // Marcador para el cálculo de CRC
        // Agregar lógica de cálculo de CRC aquí
        return crc;
    }
}

Ejemplo 2: Generar Código de Infraestructura

Aquí hay otro ejemplo de cómo hacer que el Motor de IA cree un código de andamiaje utilizando el convertidor de Python a Java converter y Model1:

# <ai>Renombrar la función crc_check a verifyCrc</ai>
# <ai>Crear la clase SecurityServiceImpl y la interfaz ISecurityService</ai>
def crc_check(data, div):
   ...
   return crc

Como resultado, el código de salida contiene la interfaz ISecurityService implementada por SecurityServiceImpl:

// Este código es una traducción de Python a Java
public interface ISecurityService {
    int verifyCrc(byte[] data, byte[] div);
}

public class SecurityServiceImpl implements ISecurityService {
    @Override
    public int verifyCrc(byte[] data, byte[] div) {
        // Implementar la lógica de verificación de CRC aquí
        int crc = 0;
        // ...
        return crc;
    }
}

Ejemplo 3: Especificar Dependencias

Aquí hay un ejemplo de cómo agregar registro a la clase utilizando el convertidor de Python a Java converter y Model1:

# <ai>Renombrar la función crc_check a verifyCrc</ai>
# <ai>Crear la clase SecurityServiceImpl y la interfaz ISecurityService con dependencia de contexto de aplicación en el constructor</ai>
# <ai>Agregar dependencia de registro a la clase</ai>
def crc_check(data, div):
   ...
   # <ai>lanzar una excepción en lugar de devolver el resultado</ai>
   return crc

Como resultado, un registrador es inyectado a través del constructor de SecurityServiceImpl:

// Este código es una traducción de Python a Java, implementando un servicio de seguridad con una función de verificación de CRC.
public interface ISecurityService {
    // Definir métodos que esta interfaz expondrá
}

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 {
        // Detalles de implementación aquí...
        // lanzar una excepción en lugar de devolver el resultado
        throw new Exception("La verificación de CRC falló");
    }
}