Çarpma
HackerOne’da Spotify Mühendislik Çerçevesini kullanıyoruz, yani Ekipler halinde çalışıyoruz. Her Squad, şirket içindeki küçük bir startup gibi belirli görevlere odaklanan bir mini ekiptir.
Bir Squad’ın özü, ortak bağlamlarında ve alışkanlıklarında yatmaktadır. Bir kod incelemesine katılırken, birleştirildiğinde yazılım kalitesi ve ekibin kimliği üzerinde önemli bir etkiye sahip olan birkaç küçük kararın verilmesi gerekir.
Sadece neyin yanlış olduğunu değil, nedenini de açıklamak çok önemlidir. Sadece sorunu dile getirdiğinizde sorun çözülebilir, ancak altta yatan sorun anlaşılmadan, sorunun gelecekte tekrarlanmasına yol açacaktır. Kapsamlı açıklamalar sağlamak için zaman ve çaba harcamanın bileşik bir etkisi vardır. Yazarın yeni deneyim kazanmasına yardımcı olur ve en iyi uygulamalara ilişkin bir tartışmayı tetikleyerek bilgi paylaşımına ve ekibin büyümesine yol açabilir. Bu şekilde incelemediğiniz MR’lar yine de geri bildirimlerinizden faydalanacaktır.
İyinin neye benzediğine dair örnekler sunmak veya alternatif çözümler ve bunların takaslarını sunmak da aynı derecede önemlidir. Bunu yapmak, geri bildirim yerine ileri besleme ilkesine benzer şekilde bir öğrenme ve iyileştirme kültürünün geliştirilmesine yardımcı olur. Bilgiyi paylaşmaya ve standartlar oluşturmaya yatırım yapmak, uzun vadede zamandan ve emekten tasarruf sağlayarak ekibin daha gelişmiş görevlere odaklanmasını sağlayabilir.
Kod incelemeleri sırasında düşüncelerinizi detaylandırmak için zaman ayırmak, özellikle iletişimin kolayca yanlış yorumlanabileceği eşzamansız ortamlarda ekip içinde güven ve uyum oluşturur. Sözlerinizin tonuna ve yazar üzerindeki potansiyel etkisine dikkat etmeniz önemlidir. Yorum bırakmadan önce kendinize neyi başarmayı umduğunuzu sorun ve olası etkileri düşünün. Amaç bilginizi sergilemek veya egonuzu şişirmekse, bu ortaya çıkacak ve sonuçta bir bağ kurma fırsatını ekip içinde bir sürtüşmeye dönüştürecektir. Kötü bir örnek şu olabilir: “Bunu bununla değiştirebilir misin?” veya “Bir test yazmadınız” — bu çok çaba gerektirir. Bunun yerine, “Ya bunu yapmaya çalışırsak?” olabilir. veya “Bunu düşündün mü?”
Son olarak, paylaşım iki yönlü bir yoldur. Kod incelemeleri yalnızca hataları bulmakla ilgili değildir, aynı zamanda bir öğretme anıdır. Bilgilerinizi güncel tutmanıza yardımcı olurken aynı zamanda hiçbir konuyu kaçırmamanızı da sağlarlar. Sırf meraktan da olsa anlamadığınız kodlarla ilgili daha fazla bilgi istemekten çekinmeyin ve çalıştığınız teknolojiye ait dokümanları mutlaka okuyun. Siz de öğrenirken, o kişiye takdirinizi göstermek iyidir. “Buradaki yeniden düzenlemeyi gerçekten seviyorum! Bunu değiştirdiğiniz için teşekkürler! ve “Vay be, bunu bu şekilde kullanabileceğimizi bilmiyordum” cümleleri çok işe yarayabilir.
Yürütme — Teslimat için Optimize Etme
Ekip olarak büyümek harikadır ama üretimde yazılımı olan bir ekip olmak daha da önemlidir. Kod incelemesinin ilk hedefi, kaliteli bir çözümün devreye alınmasını sağlamaktır. İşte bunu yapmanın bazı yolları:
- Bağlam dahilinde inceleme: Elinizdeki spesifik sorunu çözdüğünüzden ve kapsamın kaymasına izin vermediğinizden emin olun. İlgisiz dosyalarda kapsamlı yeniden düzenleme değişiklikleri yapmaktan veya basit bir kopya değişikliği için özellik işaretlerinin kaldırılması konusunda tartışma başlatmaktan kaçının.
- Bir takip dosyası oluşturun: Önemli sorunlarla karşılaşırsanız bunları GitLab gibi bir yere not edin, böylece anlaşılıp buna göre önceliklendirilebilirler.
- Yorumunuzun engellenip engellenmediğini açıkça belirtin: Yanlış anlamalar meydana gelebilir; bu nedenle, bir yorumun birleştirmeden önce ele alınması gerekiyorsa veya gelecekteki iyileştirmeler için bir öneri ise, iletişim kurmak önemlidir.
- Savaşlarınızı seçin: Çözümün mükemmel olmasına gerek olmadığını unutmayın. Bazen mutlak mükemmelliğe ulaşmaya çalışmaktansa felaketleri önlemek için korkuluklar sağlamaya odaklanmak daha pratiktir.
- MR’ları birden fazla parçaya bölün: Bu yaklaşım incelemeyi kolaylaştırır ve küçük bir detayın tüm süreci aksatmasını engeller.
- Sola Kaydır: Önemli tasarım kararlarında iş arkadaşlarınızla eşleştirin ve Slack üzerinden onlarla aşırı iletişim kurun. Bu yaklaşım, büyük değişikliklerin riskini ortadan kaldırmaya ve son dakika sürprizlerinden veya sorunlarından kaçınmaya yardımcı olur.
Etkili Kod İncelemesi İçin İpuçları
- Katmanlarda İnceleme: Girinti gibi küçük ayrıntılar hakkında endişelenmeden önce, özelliğin tüm kullanım durumlarını karşıladığından emin olmak gibi ilk önce en önemli konulara odaklanın.
- Chunks’ta inceleme: Dikkatinizin dağılmasını önlemek ve incelemenizin kalitesini korumak için sorunları ayırın ve istekleri daha küçük parçalara birleştirin.
- Demolar ve Ekran Görüntüleri İsteyin: Her çözümü kendiniz manuel olarak test etmek zorunda değilsiniz. Meslektaşlarınıza güvenin, ancak yüksek riskli sorunlar veya potansiyel uç durumlar için demo veya ekran görüntüleri isteyin.
- Duraklatmaktan Korkmayın: Bir MR’ı onaylama konusunda tereddüt ediyorsanız, bir dakikanızı ayırıp sorunun amacını ve olası riskleri gözden geçirin. Acele etmektense acele etmeden ayrıntılı bir inceleme yapmak daha iyidir.
- Pazarlığa Açık Olduğunuzu Gösterin: Gerçekten yeniden düzenlenmesi gerektiğini düşündüğünüz bir şey olduğunu varsayalım. Tartışmayı uzatmanın bir faydası olmayacak. Şöyle konuşsanız iyi olur: “Bu özelliğin yakında yayına girmesi gerektiğini biliyorum, dolayısıyla bu değişiklik bu MR için çok fazla olabilir ama bunun için bir Gitlab bileti oluşturup onu gelecek sprintlerden birinde almak mümkün mü?”
- Örnekleri Kullanın: Bu programlama dilinin resmi belgelerinden örnekler bulmaya çalışın. Bu gerçekten iyi bir alışkanlıktır ve insanları da aynısını yapmaya teşvik eder.
- Bir Kontrol Listesi tutun: Takımınızda tekrar eden sorunları takip edin ve incelemelerinizde bunlara öncelik verin. İkinci doğa haline gelmelerine yardımcı olmak için bunları MR şablonunuza eklemeyi düşünün.
- İncelemelere Öncelik Verin: Birleştirme İstekleri değerlidir ve hızlı bir geri bildirim döngüsü sağlamak ve sprintteki gecikmeleri önlemek için derhal gözden geçirilmelidir. Çok fazla açık çalışma birleştirildiğinde sorunlara neden olabilir, bu nedenle incelemelerinizi buna göre önceliklendirin.
Kod incelemeleri, yüksek kaliteli yazılım çözümleri sağlamak ve kuruluşunuzun teknik vizyonunu güçlendirmek açısından çok önemlidir. Unutmayın, bu uygulamaların hepsini bir anda uygulamanıza gerek yok. Size uygun bir çift seçin ve oradan başlayın. Meslektaşlarınızın görüşlerini almayı da unutmayın. Bir takım için işe yarayan şey başka bir takım için işe yaramayabilir, bu nedenle sizin için en iyi olanı bulmak önemlidir.