CodePorting AI 엔진 사용 설명서

이 기능은 복잡한 코드베이스에서 작업하거나 생성된 코드에서 특정 결과를 달성하려고 할 때 특히 유용합니다. 이러한 지침을 제공함으로써 사용자는 AI 모델이 자신의 정확한 요구 사항과 사양을 충족하는 코드를 생성하도록 보장할 수 있습니다.

인라인 지침 사용하기

인라인 지침은 사용자가 소스 코드 관련 작업을 수행하는 동안 AI 모델에 특정 지침을 제공할 수 있는 특별한 메커니즘입니다.

인라인 지침을 사용하는 주요 이점 중 하나는 사용자가 코드를 수동으로 수정하지 않고도 AI 모델의 출력을 미세 조정할 수 있다는 것입니다. 이는 사용자가 처음부터 다시 시작하지 않고도 생성된 코드를 빠르고 쉽게 조정할 수 있으므로 시간과 노력을 절약할 수 있습니다.

사용자는 코드 내 주석에 <ai>...</ai> 태그를 사용하여 코드의 특정 부분이 어떻게 수정되거나 최적화되어야 하는지에 대한 지침을 제공할 수 있습니다.

예제 1: 이름 제어

예를 들어, 이 지침은 CodePorting AI 엔진에게 Python 함수 _crc_check_의 이름을 Python to Java 변환기와 __Model1__을 사용하여 _verifyCrc_로 변경하도록 지시합니다:

# <ai>함수 crc_check의 이름을 verifyCrc로 변경</ai>
def crc_check(data, div):
   ...
   return crc

변환기의 출력은 crc_check 또는 crcCheck 대신 verifyCrc 메서드를 가진 Java 코드입니다:

// 이 코드는 Python에서 Java로 번역된 코드입니다.
public class CrcVerifier {
    public static int verifyCrc(byte[] data, byte[] divisor) {
        // CRC 체크 구현
        int crc = 0; // CRC 계산을 위한 자리 표시자
        // 여기에 CRC 계산 로직 추가
        return crc;
    }
}

예제 2: 인프라 코드 생성

다음은 AI 엔진이 Python to Java 변환기와 __Model1__을 사용하여 스캐폴드 코드를 생성하도록 하는 또 다른 예입니다:

# <ai>함수 crc_check의 이름을 verifyCrc로 변경</ai>
# <ai>SecurityServiceImpl 클래스와 ISecurityService 인터페이스 생성</ai>
def crc_check(data, div):
   ...
   return crc

결과적으로 출력 코드에는 __SecurityServiceImpl__에 의해 구현된 ISecurityService 인터페이스가 포함됩니다:

// 이 코드는 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 to Java 변환기와 __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 검증 실패");
    }
}