Yapay zekânın ürettiği kodu inceleyin
TamamlandıDeğişikliği kabul etmeden önce gerçek değişikliği, güven sınırlarını ve kanıtını inceleyin.
Yayımlayan TaigaNasıl yazıyoruz?
Neler öğreneceksiniz?
- Biçimden önce davranışı ve yetkiyi inceleyin.
- Küçük bir örnekte eksik yetkilendirme kontrolünü belirleyin.
- Üretilen özeti doğrulanmış kanıttan ayırın.
Özetten önce gereksinimi okuyun
İstenen davranış ve kabul ölçütleriyle başlayın. Sonra gerçek diff’i inceleyin. Ajanın özeti yolunuzu bulmanıza yardımcı olabilir, ancak değişiklikleri atlayabilir veya kontrolleri yanlış anlatabilir.
İncelenen dalı ve commit’i doğrulayın. Uygulama kodunun yanı sıra yapılandırma, bağımlılık, altyapı ve test değişikliklerini kontrol edin. Görünür küçük bir özellik, izinlerde veya dağıtım davranışında büyük değişiklik içerebilir.
Önce sonuçları en ağır davranışı inceleyin. Biçimlendirme ve adlandırma önemlidir, ancak eksik veri sınırından dikkati uzaklaştırmamalıdır.
Kimliği kaynağa kadar izleyin
Bu eksik, kurgusal endpoint’i düşünün. Örnek bir inceleme sorununu gösterir; üretim kodu değildir.
async function getInvoice(request) {
const user = await requireSignedInUser(request);
return database.invoice.findById(request.params.id);
}
Fonksiyon kimliği doğrulanmış kullanıcıyı alır. Fatura için yetkilendirme kararını göstermez. İnceleyici, bu kararı başka bir katmanın uygulayıp uygulamadığını incelemelidir. Kullanılmayan user değeri araştırma nedenidir; tek başına istismar edilebilir kusurun kanıtı değildir.
İsteği gerçek sistem boyunca izleyin. Güvenilen kullanıcıyı ve kuruluşu belirleyin. Sorgunun istenen kayda erişimi nasıl sınırladığını kontrol edin. Hata davranışını ve yasak istek testlerini inceleyin.
Gizli düğmenin API’yi koruduğunu varsaymayın. Çağıran taraf arayüzü kullanmadan istek gönderebilir. Geçerli kayıt kimliğinin erişim verdiğini varsaymayın.
Hangi kanıtın değişikliği reddedebileceğini sorun
Geçen test yönetici test verisi kullanabilir veya yetkilendirmeyi mock ile değiştirebilir. Önemli sınırı gerçekten sınayıp sınamadığını kontrol edin. Uygun durumda farklı kuruluş ve gerçek yetkilendirme yolu içeren bir senaryo ekleyin.
Arayüz değişikliğinde ekranda oluşan sonucu inceleyin. Klavye kullanımını, boş durumları, yükleme davranışını ve hataları kontrol edin. Tür kontrolü, iletişim kutusunun klavyeyle kullanılabildiğini gösteremez.
Bağımlılık değişikliğinde neden gerektiğini doğrulayın. Sürümü, lisansı ve güvenlik bulgularını inceleyin. Ajan görev sırasında üretti diye ilgisiz yükseltmeyi kabul etmeyin.
İncelemeyi bağımsız tutun
İkinci model yararlı sorunlar bulabilir. Uygulamanın varsayımlarını da tekrarlayabilir. İnceleyiciye gereksinimi ve diff’i verin. Değişikliğin zaten doğru olduğunu söylemekten kaçının.
Bulguların somut hata yolunu ve ilgili kodu belirtmesini isteyin. Dayanaksız uyarıları araştırılacak sorular olarak ele alın. Önemli iddiaların kanıtı olana kadar kendinden emin onayı başka bir görüş olarak değerlendirin.
İnsan incelemesi sorumluluğa ilişkin bir karar olmaya devam eder. İnceleyici, değişikliğin davranışını, risklerini ve doğrulamasını açıklayacak kadar anlamalıdır. Diff çok büyükse kapsamı küçültün veya incelenebilir değişikliklere bölün.
İncelemeyi son revizyonda tamamlayın
Düzeltmeden sonra etkilenen kontrolleri yeniden çalıştırın. Düzeltmenin yeni sorun oluşturup oluşturmadığını inceleyin. Kod deposu politikası uyarınca gereken incelemenin son revizyona uygulanmasını sağlayın.
Kabul kararını davranış ve kanıtla açıklayın. Kalan sınırlamaları sorumlu ve sonraki işlemle kaydedin. Çözümlenmemiş konuyu tüm kontrollerin geçtiği iddiasına dönüştürmeyin.
Gerçek değişikliği incelemeden önce eksik kararı bulmayı çalışmak için kod inceleme alıştırmasını kullanın.
Alıştırmayı yapın
Uygulama laboratuvarındaki kod inceleme alıştırmasını açın. Aktörü, istenen kaynağı ve güvenilen kuruluş sınırını belirleyin. Sonra aynı yöntemle gerçek, küçük bir PR inceleyin. Yalnızca incelemeye yetkili olduğunuz kodu kullanın.
Çalışma sayfasını indir (Markdown)Anladığınızı kontrol edin
Kaynaklar ve ek okumalar
Taiga'dan ilgili okumalar
Bu seçimi kaldırmak, bu tarayıcıda kaydedilmiş tüm ilerlemeyi siler.
İlerleme bu tarayıcıda kalır. Hesap ve takip yok.