Son zamanlarda bazı gerçek kodları yazmak için bana bir saat verdikleri bir iş görüşmesi yaptım. Muhtemelen 100 satırdan az büyük bir miktar değildi. Yaklaşık 45 dakika sonra derledim, çalıştırdım ve çalışmasını sağladım. Derleme hataları ve birkaç ufak hatayla uğraşmak için 5-10 dakika harcadım, ama genel olarak çok yumuşaktı. (Bu arada, onlardan bir teklif aldım.)
Bununla birlikte, beni şaşırtan şey, tamamlanmış kodu teslim ettikten sonra görüşmeci, yanlış yaptığım tek şeyin “devam ederken derlememek” olduğunu söyledi. Ona aradaki farkın ne olduğunu sordum ve “kodu bitirip zamanında derlemeseydin ne yapardın” dedi.
Anladığım kadarıyla bu geçersiz bir argüman çünkü belirli bir kod uzunluğu için "derlemek için kod almak" genellikle sabit sayıda derleme hatası düzeltmeyi içerir ve oldukça sabit bir zaman alır, ki bu sizden sonra yaparsanız aynı olmalıdır. Kodu yazmayı tamamlayın ya da kodlama zamanınızla birleştirirseniz. Eğer bir şey varsa, eksik noktalı virgül aramak için kodunuzu kesmek muhtemelen verimliliğiniz için zararlı olacaktır. Aşırı durumlar dışında, türetilmiş sınıflardaki sanal işlevler, vb. Gibi durumlarda, son vakalar hakkındaki belirsizlikleri denememe rağmen, tecrübeli bir geliştirici tarafından yazılan kodun, zaman zaman yazım hatasını ekleyerek, hatta derlemesini beklemek makul görünüyor. eğer değilse
Başka bir benzer olayda, bir röportajda tamamlanmamış bir kod temeli verildi ve bitirmemi istedi ve çalışması için gerekli değişiklikleri yaptım. Mevcut kodu okuyarak başladım ve birkaç dakika sonra (koda bakmayı bitirmeden önce bile) görüşmeci bana bunun yeterli olduğunu söyledi. Ona ne yapacağını sorduğumda (yani "neyi yanlış yaptım"), derhal derhal kodu almakla başlayacağını söyledi.
Bu neden alakalı bile? Benim düşünceme göre ve deneyimlerime göre, bir kod parçasının derlenip derlenmeyeceği temel olarak rastlantısaldır, noktalı virgüllerin eksik olup olmaması gibi şeyleri içerir ve temel programın doğruluğuyla ilgisi yoktur. (Bana göre, derlemeye odaklanmak, bir makaleyi, dilbilgisini kontrol etmek için prova okumadan yazım denetimi yoluyla yürütmek gibidir.)
Bana bir parça eksik kod verirseniz, yaptığım ilk şey onu okumak olacaktır. Kodun ne yaptığını ve algoritmanın doğru olduğunu anlayana kadar derlemeye bile çalışmam.
Her neyse, bunlar sadece birkaç yeni olay oldu, ama genel olarak birçok geliştiricinin kodlarını yazdıkça derleme hakkında konuştuğunu duydum ve henüz kimse bana bunu yapmanın yararını söyleyemedi. Kodunuzu ilerledikçe test etmenin faydalarını anlıyorum , ancak neden derliyorsunuz?
Öyleyse sorum şu: Kaçırdığım bir şey var mı? Siz ilerledikçe derlemenin bir yararı var mı? Yoksa bu, kodunuzu sık sık derlemeniz gereken yazılım topluluğu tarafından yayılan bir tür efsane midir?