Pair Programming
Eşli Programlama
- Okunuşu
- per progreming
Kısaca
Pair programming, iki geliştiricinin aynı kod üzerinde birlikte çalıştığı, birinin yazarken diğerinin işi gözden geçirip yönlendirdiği bir Agile tekniğidir.
Pair programming nedir?
Pair programming, iki geliştiricinin aynı görev üzerinde, aynı anda, tek bir iş istasyonu ya da ortak bir editör kullanarak birlikte kod yazdığı bir pratiktir. 1990'ların sonunda Extreme Programming'in (XP) temel pratiklerinden biri olarak geniş çapta tanındı. Amaç daha yüksek kaliteli kod ve paylaşılan bilgidir; çünkü yazılan her satırı iki kişi anlar.
Klasik driver-navigator tarzında driver kodu yazar ve ayrıntılara odaklanır; navigator ise her satırı gözden geçirir, daha büyük resmi düşünür ve hataları fark eder. Partnerler sık sık, çoğunlukla her 15 ila 30 dakikada bir rol değiştirir. Test odaklı geliştirmeyle iyi giden ping-pong eşleşmede, bir kişi başarısız olan bir test yazar, diğeri de onu geçirecek kodu yazar. Uzaktaki çiftler farklı yerlerden aynı şekilde çalışmak için ekran paylaşımı veya ortak editörler kullanır.
Pair programming özellikle yeni ekip üyelerini işe alıştırmak, zor sorunların üstesinden gelmek ve sistemin bir bölümünü yalnızca tek bir kişinin bilmemesi için bilgiyi yaymak açısından yararlıdır. Bir sürücü ve bir yardımcı sürücüden oluşan ralli aracına benzer: biri aracı anbean kontrol ederken diğeri öndeki rotayı okur ve yaklaşan virajlar için uyarır.
Pair programming çoğunlukla kod incelemesiyle (code review) karşılaştırılır. Kod incelemesi kod yazıldıktan sonra, genellikle bir pull request içinde asenkron olarak yapılır; eşli programlama ise kodu yazılırken sürekli gözden geçirir. Eşleşme bir görev için iki kişinin zamanına mal olur ama ekipler çoğunlukla hataları ve yeniden işi azalttığını görür. Ensemble programming olarak da adlandırılan mob programming ise fikri, tek bir görev üzerinde birlikte çalışan bütün bir ekibe genişletir.
Önemli noktalar
- İki geliştirici aynı anda aynı kod üzerinde çalışır.
- Driver kodu yazar, navigator gözden geçirir ve ileriyi planlar.
- Partnerler ilgili kalmak için düzenli olarak rol değiştirir.
- Eşleşme bilgiyi yayar ve hataları erken yakalar.
- Ekran paylaşımı veya ortak editörlerle uzaktan da çalışır.
Sık sorulan sorular
Pair programming tek başına çalışmaktan daha mı az verimlidir?
Bir görev için iki kişi kullandığından daha yavaş görünebilir, ama araştırmalar ve ekip deneyimi çoğunlukla daha az hata ve daha az yeniden iş ortaya çıkardığını gösteriyor. Birçok ekip karmaşık veya riskli işlerde eşleşir, basit görevlerde tek başına çalışır.
Driver ve navigator rolleri nedir?
Driver klavyeyi kontrol eder ve kodu yazar. Navigator izler, her satırı gözden geçirir ve genel yönü düşünür; ikisi düzenli olarak rol değiştirir.
Yapay zekâ kodlama asistanları pair programming'in yerini alabilir mi?
Yapay zekâ kodlama asistanları, siz yazarken kod önerdikleri için bazen eş programcı olarak tanımlanır. Rutin işleri hızlandırabilirler ama iki kişinin eşleşmeden kazandığı ortak anlayışın, mentorluğun ve tasarım tartışmasının yerini tutmazlar.
İlgili sayfalar
- Code ReviewSürüm Kontrolü, s. 4Code review, kod değişikliklerinin birleştirilmeden önce başka geliştiricilerce incelenmesidir; hataları yakalar, kaliteyi artırır, bilgi paylaşımını sağlar.
- Test Odaklı GeliştirmeTest ve Kalite, s. 31Test odaklı geliştirme, önce başarısız bir test yazdığınız, sonra onu geçirecek kadar kod yazıp ardından tasarımı temizlediğiniz bir kodlama pratiğidir.
- AgileEkipler ve Süreç, s. 3Agile, çalışan yazılımı küçük ve sık parçalar halinde teslim eden ve planları düzenli geri bildirime göre ayarlayan bir yazılım geliştirme yaklaşımıdır.
- RefactoringYazılım Mimarisi, s. 32Refactoring, mevcut kodun dışarıdan görünen davranışını değiştirmeden daha temiz ve bakımı kolay hâle getirmek için yeniden yapılandırılması sürecidir.
- Pull RequestSürüm Kontrolü, s. 32Pull request, bir branch'teki değişiklikleri başka bir branch'e birleştirme önerisidir; kod birleşmeden önce ekibe inceleme, tartışma ve test alanı sunar.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin