Yapay Zekanın Yazdığı Kod Nasıl İncelenir
Yapay zekanın yazdığı kodu incelemek için önce neyin değiştiğiyle başlayın: hangi dosyalar ve neden. Ardından herhangi bir kod satırını okumadan önce davranışı kendiniz test edin. Bundan sonra yapay zeka kodunun en sık yanlış gittiği alanlara bakın: sunucu tarafında eksik yetki denetimleri, tarayıcıya açılan gizli bilgiler, doğrulanmamış girdiler, var olmayan paketler ya da fonksiyonlar ve dokunmasını istemediğiniz şeylerdeki değişiklikler.
Yapay zeka genellikle çalışan ve düzenli görünen kod yazar. Bu da gerçekten kontrol etmeden onaylamayı kolaylaştırır. Bu rehber, kodu akıcı okuyan ya da hiç okumayan herkesin kullanabileceği bir inceleme rutinidir.
İncelemeyi riske göre ayarlayın
Her değişiklik aynı dikkati gerektirmez.
| Değişiklik | İnceleme |
|---|---|
| Metin, renkler, düzen | Masaüstünde ve telefonda önizlemeye bakın |
| Yeni bir sayfa ya da özellik | Akışı test edin; değişen dosyalara göz gezdirin |
| Giriş, yetkiler, ödemeler, kişisel veri | Dikkatli okuma, gerçek test, ikinci bir incelemeci düşünün |
| Veritabanı yapısı, veri silme, geçişler | Değişikliği okuyun, bir kopya üzerinde test edin, önce yedek alın |
Adım 1: Neyin değiştiğine bakın
Kodu yargılamadan önce değişiklik listesini alın:
- Proje Git içindeyse, diff’e bakın: son commit’ten bu yana değişen dosyalar ve satırlar. Yapay zekayla yapılmış bir uygulamada Git nasıl kullanılır rehberine bakın.
- Ya da doğrudan yapay zekaya sorun:
Son değişikliğinde değiştirdiğin her dosyayı listele ve her biri için neyin neden değiştiğini bir cümleyle açıkla.
Bu aşamadaki uyarı işaretleri: isteğinizle ilgisi olmayan dosyalar, silinmiş dosyalar, istemediğiniz yapılandırma ya da bağımlılık değişiklikleri.
Adım 2: Önce davranışı test edin
Kodu okumak, ne yapması amaçlandığını söyler; test etmek ne yaptığını söyler. Okumadan önce:
- Değişikliği normal bir kullanıcı olarak deneyin, hem masaüstünde hem telefon boyutundaki ekranda.
- Yanlış girdilerle deneyin: boş alanlar, çok uzun metinler, negatif sayılar, geçmiş bir tarih.
- Oturum açmadan ve farklı bir kullanıcı olarak deneyin.
- En önemli akışları yeniden çalıştırın: kayıt olma, giriş yapma, ana işlem, ödeme.
Test başarısız olursa okuma süresinden tasarruf etmiş olursunuz. Sorunu açıkça bildirin ve yapay zekanın düzeltmesine izin verin. İyi bir hata raporu nasıl yazılır rehberine bakın.
Adım 3: Yetkileri sunucuda kontrol edin
Kontrol edilecek en önemli şey budur. Yapay zeka araçları çoğu zaman bir düğmeyi sayfada gizler ama sunucunun, isteyen herkes için o işlemi yapmaya hazır kalmasına izin verir.
Veri okuyan ya da değiştiren her rota veya fonksiyon için sorun:
- Kullanıcı giriş yapmış mı diye kontrol ediliyor mu?
- Bu kullanıcının bu kaydı erişmesine izin verilip verilmediği kontrol ediliyor mu?
- Bu denetim sayfada değil, sunucuda mı?
Eklediğin ya da değiştirdiğin her API rotası için, sunucuda hangi yetki denetimini yaptığını satırı alıntılayarak söyle. Denetimi olmayan her rotayı işaretle.
Sonra test edin: A kullanıcısı olarak giriş yapın, bir kaydın kimliğini not edin, B kullanıcısı olarak giriş yapıp o kaydı isteyin. Tam test için yapay zekayla oluşturulmuş uygulamalar için güvenlik kontrol listesi rehberinde yer alır.
Adım 4: Sızan gizli bilgileri arayın
- Değişen dosyalarda anahtar ya da parola gibi görünen şeyleri arayın.
- Gizli anahtarların ortam değişkenlerinden okunduğunu ve yalnızca sunucu kodunda kullanıldığını kontrol edin.
- Gizli değişkenlerde
VITE_ya daNEXT_PUBLIC_gibi herkese açık önekleri izleyin; bunlar tarayıcı koduna gömülür.
Bkz. API anahtarlarını güvende tutma.
Adım 5: Girdileri ve hataları kontrol edin
- Sunucuda doğrulama. Tarayıcı kontrolleri atlanabilir. Zorunlu alanlar, uzunluklar, biçimler ve izin verilen değerler sunucu tarafından da kontrol edilmelidir.
- Veritabanı sorguları parametre kullanır, kullanıcı girdisini sorguya ekleyerek oluşturulmuş metin kullanmaz.
- Hatalar yutulmaz. Hiçbir şey yapmayan bir
try/catchhataları gizler. Hatalar kaydedilmeli, kullanıcılara ise sade bir mesaj gösterilmelidir. - Kullanıcılara iç ayrıntılar gösterilmez — yığın izleri ve veritabanı hataları günlüklerde durmalıdır.
Adım 6: Gerçek olduğunu kontrol edin
Yapay zeka modelleri bazen doğru görünen ama var olmayan şeylere atıfta bulunan kod üretir.
- Paketler: eklenen her bağımlılık, tam bu adla var olan, bakımı yapılan gerçek bir paket olmalıdır. Popüler paketlerin yazım hatası gibi görünen adlara dikkat edin.
- Fonksiyonlar ve API seçenekleri: kod daha önce görmediğiniz bir kütüphane fonksiyonunu ya da dış API seçeneğini çağırıyorsa, resmi belgelere bakın.
- Yer tutucu kod:
TODO,mock,fake, sabit kodlanmış örnek veriler ya da sabit bir değer döndüren fonksiyonlar için arama yapın.
Yeni paket eklediniz mi? Her biri için tam adını, ne işe yaradığını ve onsuz yapıp yapamayacağımızı söyle.
Adım 7: Uyumunu kontrol edin
Kod çalışabilir ama uygulamayı sonradan değiştirmeyi zorlaştırabilir:
- Tekrar. Aynı mantık birden fazla yere kopyalanırsa zamanla farklılaşır.
- Tutarlılık. Uygulamanın geri kalanının kullandığı kalıpları izlemelidir.
- Boyut. Bir 20 satırlık istek 600 satır üretmişse bu bir soru gerektirir.
- Kullanılmayan kod. Yenilerinin yanında bırakılmış eski sürümler.
Bu değişiklik nedeniyle projede artık kullanılmayan bir kod var mı, ya da mantık başka bir yerde tekrarlanıyor mu? Hiçbir şeyi değiştirme; sadece listele.
Sık yapılan hatalar
- Temiz göründüğü için onaylamak. Düzenli kod bile bir yetki denetimini atlamış olabilir.
- Test etmek yerine okumak. Önce test edin, sonra okuyun.
- Yalnızca mutlu yolu test etmek. Kötü girdileri, yanlış kullanıcıyı ve oturum açmadan denemeyi deneyin.
- İlgisiz dosya değişikliklerini yok saymak. Her dosyanın neden değiştiğini sorun.
- Kendi kendini incelemeye tamamen güvenmek. Yapay zekanın incelemesini ilk tarama olarak kullanın ve test ile doğrulayın.
- Bir haftalık değişiklikleri bir kerede incelemek. Küçük değişiklikleri olduğu gibi inceleyin.
Kontrol listesi
- Hangi dosyaların neden değiştiğini biliyorum ve ilgisiz bir şey değişmedi.
- Değişiklik masaüstünde ve telefonda, kötü girdilerle, oturum açmadan ve başka bir kullanıcı olarak çalışıyor.
- Her veri rotası sunucuda giriş ve sahiplik denetimi yapıyor.
- Kodda ya da tarayıcı paketlerinde gizli bilgi yok.
- Girdiler sunucuda doğrulanıyor; sorgular parametre kullanıyor.
- Hatalar kaydediliyor, yutulmuyor ve kullanıcılara ayrıntılı gösterilmiyor.
- Yeni paketler gerçek ve gerekli; uydurma fonksiyon ya da yer tutucu kalmadı.
- Yüksek riskli değişiklikler dikkatli okundu ve gerektiğinde ikinci bir incelemeci baktı.
Mythex’te kodu incelemek
- Soru modu kodu düzenlemeden kodla ilgili soruları yanıtlar; “her değişikliği açıkla” ve “hangi rotalarda yetki denetimi yok” gibi isteklerde idealdir. Bkz. Sohbet.
- Kod görünümü her planda dosya ağacını, düzenleyiciyi ve terminali gösterir (Ücretsiz’de salt okunur, Pro’da düzenlenebilir); böylece neyin değiştiğini kendiniz okuyabilirsiniz. Bkz. Kod düzenleyici.
/testajanın önizlemede bir kullanıcı gibi tıklamasını ve bozuk akışları bildirmesini sağlar.- Kontrol noktaları incelemeden geçemeyen bir değişikliği geri almanıza izin verir.
İnceleme için bir geliştiriciyle çalışıyorsanız, devir sürecini yapay zekayla yapılmış bir uygulamada bir geliştiriciyle çalışmak rehberi anlatır; inceleme bir hata ortaya çıkarırsa yapay zekayla yapılmış bir uygulamayı hata ayıklama rehberine bakın.
Sorular
Geliştirici değilsem yapay zekanın yazdığı kodu inceleyebilir miyim?
Bunun büyük kısmını inceleyebilirsiniz. Değişikliğin istediğiniz şeyi yapıp yapmadığını kontrol edin, önemli akışları test edin, başka bir kullanıcının verisine erişmeyi deneyin ve yapay zekadan değişen her dosyayı sade bir dille açıklamasını isteyin. Ödeme, hassas veri ya da güvenlik söz konusuysa bir geliştiricinin de bakması gerekir.
Yapay zekanın yazdığı kodda en sık görülen sorunlar nelerdir?
Sunucu tarafında eksik yetki denetimleri, tarayıcının okuyabildiği yerlere konmuş gizli bilgiler, sunucuda doğrulanmamış girdiler, var olmayan paketler ya da fonksiyonlar, sessizce yutulan hatalar ve istemediğiniz dosyalarda yapılan değişiklikler.
Yapay zekadan kendi kodunu incelemesini isteyebilir miyim?
Evet, ve özellikle “hangi rotalarda yetki denetimi yok?” gibi belirli sorular sorarsanız çoğu zaman gerçek sorunları bulur. Bunu bir ilk tarama olarak görün, garanti olarak değil, bulgularını test ederek doğrulayın.
Bir kod incelemesi ne kadar sürmeli?
Riske göre ayarlayın. Bir metin ya da stil değişikliği için önizlemeye kısa bir bakış yeterlidir. Giriş, ödeme, yetkiler ya da veritabanıyla ilgili değişiklikler dikkatli bir okuma, gerçek test ve belki de ikinci bir kişi gerektirir.