Açıklanmış kodu kontrol etmeyi kesinlikle kesinlikle önermem. Bununla birlikte, kesinlikle yasaklamazdım. Bazen (nadiren), yorumlanmış kodu kaynak kontrolüne kontrol etmek uygun olur. "Bunu asla yapma" demek çok kısıtlayıcıdır.
Sanırım hepimiz bu noktalara katılıyoruz:
- Ölü kodu asla kaynak kontrolüne kontrol etme
- Kırık (çalışmayan) kodu asla kaynak kontrolüne, en azından hiçbir zaman ana hatlara ve çok nadiren özel bir şubeye, YMMV'ye kontrol edin.
- Hata ayıklama amacıyla geçici olarak bir şey hakkında yorum yaptıysanız veya bir şeyi bozduysanız, kodu doğru biçimine geri yükleyene kadar kodu kontrol etmeyin.
Bazıları, geçici olarak kaldırılan kod veya daha sonra ne olacağının dokümantasyonu olarak az miktarda yorumlanmış kod içeren artımlı ancak eksik bir iyileştirme veya çok kısa (ideal olarak 1 satır) yorumlanmış bir snippet gibi başka kategoriler olduğunu söylüyor . asla yeniden eklenmemesi gereken bir şeyi gösteren kod . Yorumlanan koda HER ZAMAN neden yorum yapıldığını (ve yalnızca silinmediğini) ve yorumlanan kodun beklenen ömrünü veren bir yorum eşlik etmelidir. Örneğin, "Aşağıdaki kod yarardan çok zarar verir, bu nedenle yorum yapılır, ancak XXX sürümünden önce değiştirilmesi gerekir."
Bir müşterinin kanamasını durdurmak için bir düzeltme yapıyorsanız ve nihai düzeltmeyi hemen bulma fırsatınız yoksa, yukarıdaki gibi bir yorum uygundur. Düzeltmeyi teslim ettikten sonra, yorumlanmış kod, hala düzeltilmesi gereken bir şeyin olduğunu hatırlatır.
Açıklanmış kodu ne zaman kontrol ederim? Bir örnek, yüksek olasılıkla yakın gelecekte bir şekilde yeniden eklenmesi gerekeceğini düşündüğüm bir şeyi geçici olarak kaldırdığım zamandır. Yorumlu kod, bunun eksik olduğuna dair doğrudan bir hatırlatma görevi görmek için oradadır. Elbette, eski sürüm kaynak denetimindedir ve bir FIXME açıklamasını daha fazlasına ihtiyaç olduğunu belirten bir işaret olarak kullanabilirsiniz . Bununla birlikte, bazen (sık değilse) kod daha iyi bir yorumdur.
Ayrıca, bir kod satırını (veya daha nadiren, iki satırını) kaldırarak bir hata düzeltildiğinde, bazen bu kodu bir neden ile asla yeniden etkinleştirmemek için bir yorum ekleyerek satırı yorumluyorum. Bu tür yorumlar açık, doğrudan ve özdür.
Rex M şunları söyledi: 1) Yalnızca tam işlevselliği kontrol edin, 2) [Eğer] görev çok büyükse - daha küçük tamamlanabilir görevlere bölün.
Yanıt olarak: Evet, bu ideal. Bazen üretim kodu üzerinde çalışırken ve düzeltmeniz gereken acil, kritik bir sorun olduğunda her iki seçeneğe de ulaşılamaz. Bazen bir görevi tamamlamak için alana bir süreliğine bir kod sürümü koymanız gerekir. Bu, özellikle bir sorunun temel nedenini bulmaya çalışırken veri toplama kodu değişiklikleri için geçerlidir.
Daha genel bir soruda sorulan belirli örnek için ... geliştirici, yorumlanmış kodu, geliştiriciden başka kimsenin görmeyeceği özel bir şubeye (ve belki de geliştiricinin işbirliği yaptığı birisine) kontrol ettiği sürece, çok az zarar verir. Ancak bu geliştirici, bu tür kodu (neredeyse) hiçbir zaman ana hat veya eşdeğerine teslim etmemelidir. Gövde her zaman inşa edilmeli ve her zaman çalışmalıdır. Bitmemiş kodu ana üniteye teslim etmek neredeyse her zaman çok kötü bir fikirdir. Bir geliştiricinin bitmemiş veya geçici kodu özel bir şubede kontrol etmesine izin verirseniz, o zaman geliştiricinin kodu santrala teslim etmeden önce temizlemeyi unutmamasına güvenmeniz gerekir.
Diğer yanıtlara verilen yorumlara yanıt olarak açıklığa kavuşturmak için, kod yorumlanır ve kontrol edilirse, kodun yorumlandığı süre ile birlikte yorumlanmaması durumunda kodun çalışacağına dair beklentim. Açıktır ki, yeniden düzenleme araçları her zaman yeniden düzenlemelerinde yorumları içermeyecektir. Hemen hemen her zaman, yorumlanmış kodu üretime koyarsam, kod, düzyazıdan daha spesifik bir şey olan ve orada bir şey yapılması gereken rafine bir yorum olarak hizmet etmek için oradadır. Uzun ömürlü olması gereken bir şey değil.
Son olarak, yorumlanmış kodu her kaynak dosyada bulabilirseniz, bir sorun var demektir. Yorumlu kodu herhangi bir nedenle bagaja göndermek nadir bir olay olmalıdır. Bu sık sık meydana gelirse, dağınıklığa dönüşür ve değerini kaybeder.