Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Code Review Neden Yapılır, Gerçekte Ne Bulur? Bug Avından Bilgi Paylaşımına
Code review'un asıl çıktısı bug değil, anlaşılır kalan kod ve ekibe yayılan bilgidir: Microsoft'ta incelenen 570 review yorumunun yalnız yüzde 14'ü hatayla ilgiliydi, en büyük grup kod iyileştirmeleriydi. Yazı Microsoft ve Google araştırmalarını, review'un dört hedefini, pair programming ve Ship/Show/Ask gibi alternatifleri ve Bookstore ekibinin repo'da duran review sözleşmesini anlatıyor.
PR Yazarı Olarak Review'u Kolaylaştırmak: Küçük PR, Stacked PR, İyi Açıklama ve Self-review
Review'u kolaylaştırmanın en etkili yolu PR'ı küçük ve tek amaçlı tutmaktır: 2721 satırlık kupon PR'ının 2059 satırı üretilmiş migration dosyasıydı, kalan kısım refactor, model ve davranış olarak üç stacked PR'a bölününce her biri tek bir soruya indi. Yazı GitHub'ın native stacked PR'larını, PR template'ini, draft ve self-review'u, fixup ile --update-refs ve range-diff kullanarak review turlarını gösteriyor.
Reviewer Olarak Neye Bakmalı? Okuma Sırası ve .NET + Angular PR'ı için Pratik Checklist
Reviewer bir PR'ı önce açıklama, sonra tasarım, en son ayrıntı sırasıyla okumalı ve yalnız diff'e değil, değişikliğin etkilediği koda da bakmalı. Testleri yeşil olan bir kupon PR'ında bu sırayla bir N+1 ve module sınırı ihlali, negatif toplama yol açan değişmemiş bir kural, UTC hatası, implementation'ı tekrar eden bir test, eski siparişleri sıfırlayan bir migration, log'da e-posta ve Angular'da stored XSS bulunuyor.
Code Review'da İletişim: Yorum Dili, Conventional Comments, Anlaşmazlık ve Review Yorgunluğu
İyi bir review yorumu kişiye değil koda hitap eder, gerekçesini söyler ve merge'i engelleyip engellemediğini açıkça belirtir; Conventional Comments bunu issue, suggestion, question, praise gibi etiketler ve blocking/non-blocking dekoratörleriyle yapar. Yazı kupon PR'ındaki yorumları bu biçimde yeniden yazıyor, nit'in dozunu, yazarın cevabını, anlaşmazlıkta izlenecek yolu ve review yorgunluğunu anlatıyor.
GitHub'da Review Süreci: CODEOWNERS, Rulesets, Suggested Changes, Merge Queue, Bot'lar ve Metrikler
GitHub'da review sözleşmesi CODEOWNERS, ruleset ve takım ataması ayarlarıyla platforma taşınır; ama CODEOWNERS'ta bir satırdaki iki takım 'ikisinden biri' demektir, ikinci zorunlu onay ruleset'in required reviewers kuralıyla kurulur. Yazı repo'da tutulan ruleset JSON'unu, suggested changes'i, merge_group tetikleyicisiyle merge queue'yu, labeler ve Dependabot'u, Copilot onaylarının yerini ve gh çıktısından review metriklerini çıkaran bir aracı gösteriyor.