Kısa versiyon
İş bir başvuruyu sürdürmekten ibaretse, görüşmeler sırasında test etmeniz gereken beceriler:
Büyük kod tabanını belgeleri, birim testleri vb. İle anlama becerisi .
Kodu yeniden düzenleme ve her şeyi bozmadan değişiklik yapma yeteneği .
İnsanlardan kodu okumalarını istemek, bu yetenekleri değerlendirmenize yardımcı olmaz.
Uzun versiyon
Kod yazmanız istendi mi? Evet ise, Sign'ın cevabında belirttiği gibi , bu yeterlidir. Biraz genelleme yaparsak, net, anlaşılması kolay kaynak kodu yazan bir kişi, başkaları tarafından yazılan kaynak kodunu okuyabilir.
Kod yazmanız istenmediyse, muhtemelen insan kaynakları departmanından bir kişi tarafından röportaj yapıldı. Bu tür röportajlar çok teknik olamaz ve çoğunlukla değersizdir, çünkü yeteneklerinize ve iyi çalışma yeteneğinize değil, üniversitede ve işle ilgisi olmayan diğer şeylere harcadığınız yılların sayısına değer verirler.
Bir bakım işi için kod okumayı istememenin birkaç nedeni daha vardır:
1. Güvenilir yapmak zor
Somut olarak, bir görüşmeci olsaydınız ne yapardınız? Adaylarınızın bazı kodları okumasını sağlayın. Hangi kod? Hangi dilde? Ne kadar iyi ya da kötü yazılmış? Yorumlu veya yorumsuz mu? Belgeleme olsun veya olmasın?
Daha da önemlisi, aday hakkında ne anlatıyor? Kod temeli ile ne kadar iyi korelasyon gösterir?
Bakmanız gereken eski bir VB.NET uygulamanız olduğunu varsayalım. Kaynak kodun çoğunlukla çirkin ve denenmemiş olduğunu ve birkaç yorumun eski veya yanıltıcı olduğunu biliyorsunuz. Son üç aydır, çözüm üzerinde çalışan çok yetenekli bir geliştiriciniz vardı; Uygulamanın en kritik kısımlarını yeniden düzenledi ve birim test etti, yorumlara ihtiyaç duyulan yorumları ekledi ve en önemlisi, genel mimari, kritik parçalar ve tuzaklar hakkında ayrıntılı belgeler yazdı.
Şimdi bu kod tabanını korumak için bir geliştirici tutuyorsunuz. Bir röportaj sırasında, bir parça eski (çirkin test edilmemiş) kod veya önceki geliştirici tarafından yeniden düzenlenmiş kod parçasını verir misiniz?
Belgeleri verir misiniz? Belgeleri okumak için adayın en az birkaç saat harcaması gerekecektir. Bu bir röportaj sırasında yapmayı imkansız hale getirir.
2. Kısa kod parçasını okumak, tanıdık bir projenin kodunu okumakla aynı şey değildir
Unutmayın, iş bir projeyi sürdürmektir. Projeye aşina olmadığınız ilk gün veya haftalarda büyük bir kod tabanını korumak zordur . Tüm belgeleri yazdıktan ve genel kod tabanını net bir şekilde görüntüledikten birkaç ay sonra bunu yapmak çok daha kolay .
Test edilecek en önemli şey, kişinin o aylarda verimli olup olmayacağıdır . Kişinin ilk iki günde hiçbir şey anlayamayacağı umrumda değil.
Bir kişiden kısa bir kod parçasını sıfırdan okumasını isteyerek, bu kişinin binlerce LOC için tanıdık, belgelenmiş bir kod çözücü ile nasıl başa çıkabileceğini test etmiyorsunuz .
3. Kaynak kodunu korumak sadece okumak değildir
Bir kod temeli bakımını yaparken, değiştirirsiniz . Sadece kodu okuyan bir geliştirici, şirketine faydalı bir şey getirmez.
Yararlı beceriler yeteneği olan refactor kodu için, birim testleri eklemek için, bir değişikliğin etkisini tahmin vb Sen görüşme sırasında şifreyi okumayı bir kişi sorarak bu becerileri test yoktur.