CodePorting AI Motoru Talimatları

Bu özellik, karmaşık kod tabanlarıyla çalışırken veya üretilen kodda belirli sonuçlar elde etmeye çalışırken özellikle faydalıdır. Bu talimatları sağlayarak, kullanıcılar AI modelinin tam gereksinimlerini ve spesifikasyonlarını karşılayan kod üretmesini sağlayabilirler.

Satır İçi Talimat Kullanımı

Satır içi talimat, kullanıcıların kaynak kodla ilgili görevler sırasında AI modellerine belirli rehberlik sağlamalarına olanak tanıyan özel bir mekanizmadır.

Satır içi talimat kullanmanın bir ana faydası, kullanıcıların AI modelinin çıktısını manuel olarak kodu düzenlemek zorunda kalmadan ince ayar yapabilmeleridir. Bu, kullanıcıların üretilen kodda hızlı ve kolay bir şekilde ayarlamalar yapabilmelerini sağladığı için zaman ve çaba tasarrufu sağlayabilir.

Kullanıcılar, kodun belirli bölümlerinin nasıl değiştirilmesi veya optimize edilmesi gerektiği konusunda talimat vermek için kod içindeki yorumlarda <ai>...</ai> etiketlerini kullanabilirler.

Örnek 1: İsimlendirmeyi Kontrol Etme

Örneğin, talimat CodePorting AI motoruna Python fonksiyonu crc_check'i Python'dan Java dönüştürücü ve Model1 kullanarak verifyCrc olarak yeniden adlandırmasını söyler:

# <ai>Fonksiyon crc_check'i verifyCrc olarak yeniden adlandır</ai>
def crc_check(data, div):
   ...
   return crc

Dönüştürücünün çıktısı, crc_check veya crcCheck yerine verifyCrc yöntemine sahip Java kodudur:

// Bu kod Python'dan Java'ya çevrilmiştir
public class CrcVerifier {
    public static int verifyCrc(byte[] data, byte[] divisor) {
        // CRC kontrolü uygulaması
        int crc = 0; // CRC hesaplaması için yer tutucu
        // Buraya CRC hesaplama mantığını ekleyin
        return crc;
    }
}

Örnek 2: Altyapı Kodu Oluşturma

İşte AI Motoru'nu Python'dan Java dönüştürücü ve Model1 kullanarak bir iskelet kod oluşturması için yönlendiren başka bir örnek:

# <ai>Fonksiyon crc_check'i verifyCrc olarak yeniden adlandır</ai>
# <ai>SecurityServiceImpl sınıfını ve ISecurityService arayüzünü oluştur</ai>
def crc_check(data, div):
   ...
   return crc

Sonuç olarak, çıktı kodu ISecurityService arayüzünü SecurityServiceImpl tarafından uygulanmış olarak içerir:

// Bu kod Python'dan Java'ya çevrilmiştir
public interface ISecurityService {
    int verifyCrc(byte[] data, byte[] div);
}

public class SecurityServiceImpl implements ISecurityService {
    @Override
    public int verifyCrc(byte[] data, byte[] div) {
        // CRC doğrulama mantığını burada uygulayın
        int crc = 0;
        // ...
        return crc;
    }
}

Örnek 3: Bağımlılıkları Belirtme

İşte Python'dan Java dönüştürücü ve Model1 kullanarak sınıfa günlük kaydı ekleme örneği:

# <ai>Fonksiyon crc_check'i verifyCrc olarak yeniden adlandır</ai>
# <ai>Uygulama bağlamı bağımlılığı ile SecurityServiceImpl sınıfını ve ISecurityService arayüzünü oluştur</ai>
# <ai>Sınıfa günlük kaydı bağımlılığı ekle</ai>
def crc_check(data, div):
   ...
   # <ai>Sonucu döndürmek yerine bir istisna fırlat</ai>
   return crc

Sonuç olarak, SecurityServiceImpl sınıfının yapıcısı aracılığıyla bir günlük kaydedici enjekte edilir:

// Bu kod, bir CRC doğrulama fonksiyonu ile bir güvenlik hizmeti uygulayan Python'dan Java'ya çevrilmiştir.
public interface ISecurityService {
    // Bu arayüzün sunacağı yöntemleri tanımlayın
}

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 {
        // Uygulama detayları burada...
        // Sonucu döndürmek yerine bir istisna fırlat
        throw new Exception("CRC doğrulama başarısız oldu");
    }
}