Yapay zeka kullanılarak Apex'dan kaynaktan kaynağa kod çevirisi, kaynak kodunu analiz etmek ve anlamak için doğal dil işleme (NLP) tekniklerinden ve makine öğrenimi algoritmalarından yararlanmayı içerir
Zorluk Açıklaması | Apex Söz Dizimi Örneği | Ruby Söz Dizimi Örneği | Puan |
---|---|---|---|
Null Güvenliği Yönetimi | String name = null; |
name = nil |
8 |
Statik ve Örnek Metotlar | public static void doSomething() {} |
def self.do_something |
7 |
İstisna Yönetimi | try { ... } catch (Exception e) {} |
begin ... rescue => e |
6 |
Erişim Belirleyicileri | private void method() {} |
private def method |
5 |
Koleksiyonlar ve İterasyon | List<String> names = new List<String>(); |
names = [] |
7 |
Tür Çıkarımı | var name = 'John'; |
name = 'John' |
9 |
Özel Notlar | @isTest |
# test |
8 |
Arayüz Uygulaması | class MyClass implements MyInterface |
class MyClass < MyInterface |
6 |
SOQL ve ActiveRecord | List<Account> accounts = [SELECT Id FROM Account]; |
accounts = Account.all |
7 |
Tetikleyiciler ve Geri Çağırmalar | trigger MyTrigger on Account (before insert) {} |
before_create :my_callback |
8 |
Apex'de, null güvenliği önemli bir konudur, çünkü değişkenler açıkça null olarak ayarlanabilir. Ruby'de karşılığı nil
kullanmaktır.
Apex Örneği:
String name = null;
if (name == null) {
// Null durumunu yönet
}
Ruby Örneği:
name = nil
if name.nil?
# Nil durumunu yönet
end
Referans: [Apex Dil Referansı](https://developer.salesforce.com/docs/atlas.en/ ApexReference.meta/ApexReference/apex_methods_system.htm)
Apex static
anahtar kelimesini kullanarak statik metotlar tanımlamaya izin verirken, Ruby sınıf metotlarını tanımlamak için self
kullanır.
Apex Örneği:
public static void doSomething() {
// Statik metot mantığı
}
Ruby Örneği:
def self.do_something
# Sınıf metodu mantığı
end
Referans: [Apex Sınıf Dokümantasyonu](https://developer.salesforce.com/docs/atlas.en/ ApexClassReference.meta/ApexClassReference/apex_classes.htm)
Apex istisna yönetimi için try-catch
blokları kullanırken, Ruby begin-rescue
kullanır.
Apex Örneği:
try {
// İstisna fırlatabilecek kod
} catch (Exception e) {
// İstisnayı yönet
}
Ruby Örneği:
begin
# İstisna fırlatabilecek kod
rescue => e
# İstisnayı yönet
end
Referans: [Apex İstisna Yönetimi](https://developer.salesforce.com/docs/atlas.en/ ApexReference.meta/ApexReference/apex_methods_system.htm)
Apex private
, public
ve protected
gibi belirli erişim belirleyicilerine sahiptir, Ruby ise benzer anahtar kelimeleri farklı bir sözdizimi ile kullanır.
Apex Örneği:
private void method() {
// Özel metot mantığı
}
Ruby Örneği:
private def method
# Özel metot mantığı
end
Referans: [Apex Erişim Belirleyicileri](https://developer.salesforce.com/docs/atlas.en/ ApexClassReference.meta/ApexClassReference/apex_classes.htm)
Apex List
gibi belirli koleksiyon türlerini kullanırken, Ruby dizileri kullanır.
Apex Örneği:
List<String> names = new List<String>();
Ruby Örneği:
names = []
Referans: [Apex Koleksiyonlar](https://developer.salesforce.com/docs/atlas.en/ ApexReference.meta/ApexReference/apex_classes_collection.htm)
Apex var
anahtar kelimesini kullanarak tür çıkarımına izin verirken, Ruby dinamik olarak türlendirilmiştir.
Apex Örneği:
var name = 'John';
Ruby Örneği:
name = 'John'
Referans: [Apex Tür Çıkarımı](https://developer.salesforce.com/docs/atlas.en/ ApexReference.meta/ApexReference/apex_methods_system.htm)
Apex özel notları desteklerken, Ruby benzer amaçlar için yorumlar kullanır.
Apex Örneği:
@isTest
private class MyTestClass {
// Test mantığı
}
Ruby Örneği:
## test
class MyTestClass
# Test mantığı
end
Referans: [Apex Notlar](https://developer.salesforce.com/docs/atlas.en/ ApexReference.meta/ApexReference/apex_classes_annotation.htm)
Apex implements
anahtar kelimesini kullanırken, Ruby bir arayüzden miras almak için <
kullanır.
Apex Örneği:
class MyClass implements MyInterface {
// Uygulama
}
Ruby Örneği:
class MyClass < MyInterface
# Uygulama
end
Referans: [Apex Arayüzler](https://developer.salesforce.com/docs/atlas.en/ ApexClassReference.meta/ApexClassReference/apex_classes_interface.htm)
Apex veritabanı sorguları için SOQL kullanırken, Ruby Rails üzerinde ActiveRecord kullanır.
Apex Örneği:
List<Account> accounts = [SELECT Id FROM Account];
Ruby Örneği:
accounts = Account.all
Referans: [Apex SOQL](https://developer.salesforce.com/docs/atlas.en/ SOQL_SOSLReference.meta/SOQL_SOSLReference/sforce_api_calls_soql.htm)
Apex tetikleyicileri veritabanı olaylarına özgüdür, Ruby ise ActiveRecord'da geri çağırmalar kullanır.
Apex Örneği:
trigger MyTrigger on Account (before insert) {
// Tetikleyici mantığı
}
Ruby Örneği:
before_create :my_callback
def my_callback
# Geri çağırma mantığı
end
Referans: [Apex Tetikleyiciler](https://developer.salesforce.com/docs/atlas.en/ ApexTriggerReference.meta/ApexTriggerReference/apex_triggers.htm)