Instruções do Motor AI CodePorting

O recurso é particularmente útil ao trabalhar com bases de código complexas ou ao tentar alcançar resultados específicos no código gerado. Ao fornecer essas instruções, os usuários podem garantir que o modelo de IA produza código que atenda exatamente às suas necessidades e especificações.

Usando Instruções Inline

A instrução inline é um mecanismo especial que permite aos usuários fornecer orientações específicas aos modelos de IA durante o processo de tarefas relacionadas ao código-fonte.

Um dos principais benefícios do uso de instruções inline é que ele permite que os usuários ajustem a saída do modelo de IA sem precisar editar manualmente o código depois. Isso pode economizar tempo e esforço, pois os usuários podem rapidamente e facilmente fazer ajustes no código gerado sem ter que começar do zero.

Os usuários podem dar instruções sobre como certas partes do código devem ser modificadas ou otimizadas usando as tags <ai>...</ai> em comentários dentro do código.

Exemplo 1: Controle de Nomenclatura

Por exemplo, a instrução diz ao motor AI CodePorting para renomear a função Python crc_check para verifyCrc usando o conversor Python para Java converter e Model1:

# <ai>Renomear função crc_check para verifyCrc</ai>
def crc_check(data, div):
   ...
   return crc

A saída do conversor é um código Java que tem o método verifyCrc em vez de crc_check ou crcCheck:

// Este código é uma tradução de Python para Java
public class CrcVerifier {
    public static int verifyCrc(byte[] data, byte[] divisor) {
        // Implementação da verificação CRC
        int crc = 0; // Placeholder para o cálculo CRC
        // Adicione a lógica de cálculo CRC aqui
        return crc;
    }
}

Exemplo 2: Gerar Código de Infraestrutura

Aqui está outro exemplo de como fazer o Motor AI criar um código de estrutura usando o conversor Python para Java converter e Model1:

# <ai>Renomear função crc_check para verifyCrc</ai>
# <ai>Criar classe SecurityServiceImpl e interface ISecurityService</ai>
def crc_check(data, div):
   ...
   return crc

Como resultado, o código de saída contém a interface ISecurityService implementada pela SecurityServiceImpl:

// Este código é traduzido de Python para Java
public interface ISecurityService {
    int verifyCrc(byte[] data, byte[] div);
}

public class SecurityServiceImpl implements ISecurityService {
    @Override
    public int verifyCrc(byte[] data, byte[] div) {
        // Implemente a lógica de verificação CRC aqui
        int crc = 0;
        // ...
        return crc;
    }
}

Exemplo 3: Especificar Dependências

Aqui está um exemplo de como adicionar logging à classe usando o conversor Python para Java converter e Model1:

# <ai>Renomear função crc_check para verifyCrc</ai>
# <ai>Criar classe SecurityServiceImpl e interface ISecurityService com dependência de contexto de aplicação no construtor</ai>
# <ai>Adicionar dependência de logging à classe</ai>
def crc_check(data, div):
   ...
   # <ai>lançar uma exceção em vez de retornar o resultado</ai>
   return crc

Como resultado, um logger é injetado via construtor da SecurityServiceImpl:

// Este código é uma tradução de Python para Java, implementando um serviço de segurança com uma função de verificação CRC.
public interface ISecurityService {
    // Defina os métodos que esta interface irá expor
}

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 {
        // Detalhes da implementação aqui...
        // lançar uma exceção em vez de retornar o resultado
        throw new Exception("Falha na verificação CRC");
    }
}