Инструкции по использованию движка CodePorting AI

Эта функция особенно полезна при работе со сложными кодовыми базами или при попытке достичь конкретных результатов в сгенерированном коде. Предоставляя эти инструкции, пользователи могут гарантировать, что модель ИИ генерирует код, который соответствует их точным требованиям и спецификациям.

Использование встроенных инструкций

Встроенная инструкция — это специальный механизм, который позволяет пользователям предоставлять конкретные указания моделям ИИ в процессе выполнения задач, связанных с исходным кодом.

Одним из ключевых преимуществ использования встроенных инструкций является то, что пользователи могут точно настраивать вывод модели ИИ, не редактируя код вручную после этого. Это может сэкономить время и усилия, так как пользователи могут быстро и легко вносить изменения в сгенерированный код, не начиная с нуля.

Пользователи могут давать инструкции о том, как определенные части кода должны быть изменены или оптимизированы, используя теги <ai>...</ai> в комментариях внутри кода.

Пример 1: Управление именованием

Например, инструкция говорит движку CodePorting AI переименовать функцию Python crc_check в verifyCrc с использованием конвертера Python в Java converter и Model1:

# <ai>Переименовать функцию crc_check в 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: Генерация инфраструктурного кода

Вот еще один пример того, как заставить движок ИИ создать каркасный код с использованием конвертера Python в Java converter и Model1:

# <ai>Переименовать функцию crc_check в verifyCrc</ai>
# <ai>Создать класс SecurityServiceImpl и интерфейс ISecurityService</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 в Java converter и Model1:

# <ai>Переименовать функцию crc_check в verifyCrc</ai>
# <ai>Создать класс SecurityServiceImpl и интерфейс ISecurityService с зависимостью контекста приложения в конструкторе</ai>
# <ai>Добавить зависимость логирования в класс</ai>
def crc_check(data, div):
   ...
   # <ai>выбросить исключение вместо возврата результата</ai>
   return crc

В результате логгер внедряется через конструктор 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 не удалась");
    }
}