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ç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.
Ö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;
}
}
İş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;
}
}
İş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");
}
}