İletişim

Kod desteği

İnceleme, hata ayıklama, test, devralma Hizmet 06 / 08 ← 0507 →

Ekibin yazdığı kodu okuyup önem sırasıyla bulgu çıkarıyorum; canlıdaki hatayı yeniden üretip kökünü buluyoruz; düzeltmeyi, geri alındığında kırılan bir testle birlikte teslim ediyoruz.

Başkasından devralınan kodda işe, en çok para ve veriye dokunan yoldan başlıyorum.

P0hemen
Güvenlik, para, veri kaybı. Yayında kalmamalı; ilk iş bu.
P1yayından önce
Yanlış sonuç. Kullanıcıya yanlış rakam ya da yanlış durum gösteriyor.
P2planlı
Kırılgan yer. Bugün çalışıyor, ilk beklenmedik durumda düşer.
P3iyileştirme
Okunurluk ve tekrar. Kod çalışıyor, ama bir sonraki değişikliği zorlaştırıyor.

06.1İşin üç parçası

Yeşil test tek başına kanıt sayılmaz. Düzeltme geri alındığında kırılmayan test, hatayı yakalamıyor demektir.

aNe yapıyoruz

  • Kod incelemeDeğişiklikleri okuyup bulguları P0-P3 sırasıyla, satır numarasıyla yazıyorum.
  • Hata ayıklamaCanlıdaki hatayı önce yeniden üretiyoruz, sonra kökünü buluyoruz.
  • TestKritik akışlar için hatayı gerçekten yakalayan testler.
  • DevralmaBelgesi olmayan kodun haritası: ne nerede, hangi parça neye dokunuyor.

bNe teslim ediyoruz

  • Bulgu listesiHer bulgu: yer, sorun, önerilen düzeltme, test.
  • Düzeltme dalıAyrı dalda, küçük ve açıklamalı kayıtlarla; birleştirme kararı sizde.
  • TestlerDüzeltme geri alınınca kırıldığı gösterilmiş.
  • Kod haritasıDevralınan projede tek sayfalık yapı notu.

cNasıl ölçüyoruz

  • Kaçan hataCanlıya çıkıp sonradan bulunan hata sayısı, ay ay.
  • Düzeltme süresiHatanın bildirilmesinden düzeltmenin yayına çıkmasına kadar geçen süre.
  • TekrarAynı türden hatanın yeniden görülme sayısı.
  • KapsamKritik akışlarda (ödeme, giriş, veri yazma) testi olan yol oranı.

06.2Bir inceleme nasıl görünür

Kurgusal bir sipariş fonksiyonunda dört bulgu. Satırdaki numaraya ya da sağdaki bulguya tıklayın.

Kod inceleme

19 satırlık kurgusal örnek

Örnek kod
siparis.js4 bulgu
  1. export async function siparisToplami(sepet, kupon) {
  2. let toplam = 0;
  3. for (const urun of sepet.urunler) {
  4. toplam += urun.fiyat * urun.adet;
  5. }
  6. if (kupon) {
  7. toplam = toplam - toplam * kupon.oran;
  8. }
  9. const kargo = await kargoUcreti(sepet.adres);
  10. return Math.round(toplam + kargo);
  11. }
  12. app.post('/api/siparis', async (req, res) => {
  13. const { id, kupon } = req.body;
  14. const sepet = await db.query(
  15. `SELECT * FROM sepet WHERE id = ${id}`);
  16. const toplam = await siparisToplami(sepet, kupon);
  17. res.json({ toplam });
  18. });

06.3İlgili paketler

Kod desteğiyle en çok birlikte yürüyen üç paket.

Başlangıç

Başlangıç denetimi ve puan

Kod tabanının P0-P3 sırasıyla taranması ve kritik akışlar için puan.

  • Ödeme, giriş, veri yazma yolları
  • Testi olmayan kritik yollar

Güvenlik

Uyum ve risk gözden geçirmesi

Sırların, kişisel verinin ve üçüncü taraf bağımlılıkların gözden geçirilmesi.

  • Kodda ve kayıtlarda sır taraması
  • Eski ve açığı bilinen bağımlılıklar

Hız

Projeye özel AI agent'lar

Kod agent'ları: kendi dalında yazan, ayrı bir agent'ın incelediği, kararı ekibe bırakan düzen.

Kodun nerede durduğunu ve neyin bozuk olduğunu yaz.

Depo erişimi sonra konuşulur; önce hatanın kısa tarifi ve ne zamandır olduğu yeterli.