Kapsamlı Code Review Kontrol Listesi

Hakan Güzel
4 min readNov 7, 2021

Code review, ekiplerin kod kalitesini iyileştirmesi için yararlı bir araçtır. Yine de, kodu gözden geçirmenin başka birçok faydası vardır. Geliştirme yaşam döngüsünün başlarında hataları yakalarken, bilgi paylaşırken ve ekibin tahmin becerilerini geliştirirken düşen geliştirme maliyetinden bahsetmiyorum bile.

Bu blog yazısı, code review’in ne olduğunu, neden code review yapmamız gerektiğini, bir tanesine nasıl hazırlanabileceğinizi ve nasıl eyleme dönüştürülebilir geri bildirimde bulunacağınızı açıklayacaktır. Bu makalenin son bölümünde, yazılım iş akışınızda bir code review sürecini uygularken kullanabileceğiniz bir code review kontrol listesi bulabilirsiniz.

İlk olarak, code review kavramının ne olduğunu anlayalım mı?

Code Review nedir?

Code review, projenize eklemek istediğiniz kodun kalitesini artırmayı amaçlar. Code review, diğer programcıların hatalı kod yapılarını ve diğer birçok kalite ölçütünü gözden geçirmeye yönelik sistematik bir yaklaşımı ifade eder. Ek olarak, code review tüm gereksinimlerin doğru şekilde uygulanıp uygulanmadığını kontrol eder.

Çoğu geliştirici ekibinde, geliştirici bir projeye kod eklemek için bir Pull Request (PR) gönderir. Bu durumda code review, kodun kalite standartlarını karşılayıp karşılamadığını kontrol etmek ve gerekli belgeleri eklemek için bir veya daha fazla ekip üyesi atanacaktır.

Ancak, code review yalnızca bir kalite kontrolünden daha fazlasıdır. Bir PR’a birden fazla geliştirici atayarak, onları yeni koda maruz bırakıyorsunuz. Bir code review işlemini tamamlamak için gözden geçirenlerin PR’ın bağlamını ve kapsamını anlamaları gerekir. Bu nedenle, code review teknik borcu azaltmak için harika bir araçtır.

Ayrıca, code review geliştiriciler için değerli bir öğrenme anı olabilir. Kodunuz ve kodlama stiliniz hakkında geri bildirim almak için harika bir fırsattır.

Neden Code Review yapmalısınız?

Ekibinizin code reviewleri yapmasının birçok açık faydası ve nedeni vardır.

Bu avantajlardan bazıları yukarıda zaten ele alınmıştır. Geliştiricilere kodlama becerilerini geliştirmeleri ve değerli geri bildirimler almaları için mükemmel bir fırsat sunar. Ayrıca, bilgiyi farklı ekip üyeleri arasında aktif olarak paylaşmak için harika bir araçtır. Bu sayede “single point of knowledge failure”ı önleyebilirsiniz. Bu, birden fazla kişinin projenin belirli bir bölümü hakkında deneyime veya bilgiye sahip olduğu anlamına gelir. Örneğin, belirli bir geliştirici tatildeyken (veya hastayken) ve bu geliştiricinin uzmanlık alanını hedefleyen kodu gözden geçirecek birine ihtiyacınız olduğunda yararlı olabilir.

Code reviewlerinin daha az belirgin bir ROI metriği, hataları erken yakalayarak geliştirme maliyetlerini azaltmaktır. Code review, test veya otomatik code review araçları aracılığıyla fark edilmeden gözden kaçabilecek hataları bulmanıza yardımcı olabilir.

Ve son olarak, code reviewler tahmin becerilerinizi geliştirmenize yardımcı olur. Atlassian iyi bir açıklama sunuyor.

“Tahmin bir ekip çalışmasıdır ve ürün bilgisi ekibe yayıldıkça ekip daha iyi tahminler yapar. Mevcut koda yeni özellikler eklendikçe, geliştiricilere iyi geri bildirim ve tahmin sağlayabilir.”

Peki, code review için nasıl hazırlanırsınız?

Code Review için hazırlık

Code review’e başlamadan önce, incelemeyi başlatmak için ihtiyacınız olan tüm bilgilere sahip olduğunuzdan emin olun. İşlemi tamamlamak için ihtiyaç duyduğunuz bilgilere erişiminiz olmadığı için incelemenizin yarısında engellenmek istemezsiniz.

Ayrıca, PR’ın bağlamını ve kapsamını anladığınızdan emin olun. Bu, kodu incelemeyi ve gereksinimlerini kontrol etmeyi kolaylaştıracaktır. Geliştiricilere her zaman kodu denemelerini ve kodun nasıl çalıştığını daha iyi anlamak için hata ayıklayıcıyı kullanmalarını öneririm.

Spesifik ve eyleme geçirilebilir geri bildirim nasıl verilir?

Öncelikle, samimi bir atmosfer yarattığınızdan emin olun. Code review, iş arkadaşlarınızı eleştirmek için bir araç değildir. Öte yandan, destekleyici bir ortam yaratmak istiyorsunuz.

Bunu yapmanın en iyi yolu, dostane önerilerde bulunmak, gerekçenizi açıklamak ve kodu geliştirmeye yönelik ipuçları vermektir. PR sahibine bu kodun iyi olmadığını söylemek istemezsiniz. PR’i geliştirmek için akıl yürütmeyi dahil ettiğinizden ipuçları ve hatta kod parçacıkları verdiğinizden emin olun. PR sahibi bu geri bildirimi takdir edecek ve yeni bir şeyler öğrenmek için harika bir fırsat olduğunu düşünecektir.

İpucu: Açıklama yapmak yerine sorular sorun. Bunu yaparsanız, PR sahibini kodlarını düşünmeye ve kendileri için daha iyi bir çözüm bulmaya zorlarsınız. Başka bir deyişle, PR sahibi için eyleme geçirilebilir bir öğrenme fırsatı yaratırsınız. Ancak, PR sahibinin sorunuzu anlaması için yeterli geri bildirim eklemeyi unutmayın.

Code review kontrol listesi

Kontrol listesi, code review için yapılandırılmış bir yaklaşım oluşturmanıza yardımcı olur. Ayrıca, kodu projenize eklemeniz için yapmanız gereken tüm kalite kontrollerini size hatırlatır.

Code review kontrol listenize birçok özel madde ekleyebilirsiniz. İşte her zaman dikkat etmeniz gereken olmazsa olmaz maddelere bir göz atalım.

1. Özellik gereksinimlerini doğrulayın

PR içeriğini özümsedikten sonra, gereksinimleri doğrulamanın zamanı geldi. PR’nin, Task’ta bulunan ve açıklanan tüm gereksinimleri karşıladığından emin olmanız gerekmektedir. Eksik veya yanlış uygulanmış bir şey varsa, code review’ı durdurmalı ve geliştiriciden PR’yi tamamlamasını istemelisiniz. Hala değişebilirken kodun geri kalanını gözden geçirmek için zaman kaybetmek istemezsiniz.

2. Kod okunabilirliği

Gereksinimleri doğruladıktan sonra, okunabilirliğe bakmanın zamanı geldi. Kendinize sormanız gereken asıl soru: “Kod açıklayıcı mı?” Okunamayan bir işlev bulursanız, diğer geliştiriciler için okunabilirliği artırmak için kodu bölmeyi veya yeniden düzenlemeyi önerin.

3. Kodlama Stili

Çoğu geliştirme ekibi, bir kodlama stili kılavuzu tanımlamayı tercih eder. Code review için bu stil kılavuzunu kullanabilirsiniz. Yine aynı kodlama stilini kullanmak kodun okunabilirliğini artıracaktır.

4. Adlandırmayı temizle

İşlev ve değişkenlerin açıklayıcı olup olmadığını doğrulayın. Okunabilirliği artırmak için, sadece fonksiyon isimlerine ve değişkenlere bakarak bir modülün veya sınıfın ne yaptığını anlamalısınız. Birçok geliştirici, yeni bir PR kapsamını ve bağlamını hızlı bir şekilde anlamak için bu yaklaşımı kullanır. Bu nedenle, geliştiriciler net adlandırma kullanmalıdır.

5. Kod tekrarı

Kod tekrarını kontrol ettiğinizden emin olun. Daha yeni ekip üyeleri bazen hangi işlevlerin veya kitaplıkların zaten var olduğunu bilmiyorlar. Bu nedenle, bu işlev zaten varken kendi kitaplıklarını oluşturabilirler. Projenizi temiz tutmak için kod tekrarını kontrol edin.

6. Testler

Uygulanan testlerin tüm kodlama yollarını kapsadığını her zaman kontrol etmelisiniz. Eksik testleri PR sahibine işaretlediğinizden emin olun.

7. Dökümantasyon

Ve son olarak, bir geliştirici, projenize yeni bir özellik eklerken dökümanları güncellemelidir. Ancak, dökümanlarında kalitesini kontrol etmeyi unutmayın.

Çözüm

Code review, geliştirici ekipleri için kullanışlı bir araçtır.

Code review’ın ekibinizdeki herkes için olduğunu unutmayın. Bazı şirketler, code reviewleri, genç ekip üyelerine kıdemli ekip üyelerinden geri bildirim sağlamanın bir yolu olarak görür. Bunun tersi de doğrudur. Ekibinizdeki herhangi bir geliştirici öğrenebilir, geliştirebilir ve bilgiyi paylaşabilir.

Kaynak: Alex Omeyer — The Comprehensive Code Review Checklist

--

--