Tecrübelerime göre, kalıp şudur:
- Sistem, yıllarca sık çalışır
- Bir hata bildirildi
- Geliştirici hatayı araştırır ve tamamen kusurlu görünen ve "asla çalışamadığını" bildiren bir kod bulur.
- Hata giderildi ve asla çalışamayacak (ancak yıllarca yapılan) kod efsanesi büyüdü
Burada mantıklı olalım. Çalışmış asla Kod ... çalışmış asla . O Eğer yaptığımız işi daha sonra ifadesi yanlıştır.
Bu yüzden tam olarak açıklandığı gibi bir hatanın (hatalı kodun çalışmasını durdurduğunu gözlemleyerek) açıkça saçma olduğunu söyleyeceğim .
Gerçekte olan şey iki şeyden biri:
1) Geliştirici kodu tam olarak anlamadı . Bu durumda, kod genellikle bir karışıklıktır ve içindeki bir yerde, bazı dış koşullara karşı büyük ancak belirgin olmayan bir duyarlılık vardır (belirli bir işletim sistemi sürümünü veya bazı işlevlerin küçük ama anlamlı bir şekilde nasıl çalıştığını düzenleyen bir yapılandırma söyleyin). Bu dış koşul değiştirilir (örneğin, ilgisiz olduğuna inanılan bir sunucu yükseltme veya değiştirme ile) ve bunu yaparken kodun kırılmasına neden olur.
Ardından geliştirici, koda bakar ve tarihsel bağlamı anlamayan veya olası her bağımlılık ve senaryoyu izlemeye vakti olmayan, hiçbir zaman çalışamayacağını ilan etti ve yeniden yazdı.
Bu durumda, burada anlaşılması gereken şey, “asla işe yaramayacağı” fikrinin kesinlikle yanlış olduğu (çünkü öyle olduğu).
Bu, yeniden yazmanın kötü bir şey olduğunu söylemek değildir - çoğu zaman değildir, çoğu zaman ne yanlış olduğunu bilmek güzel olsa da, zaman alan ve kod bölümünü yeniden yazmak genellikle daha hızlıdır ve işleri düzelttiğinizden emin olmanıza olanak sağlar.
2) Aslında hiç çalışmadı, hiç kimse hiç farketmedi . Bu, özellikle büyük sistemlerde şaşırtıcı şekilde yaygındır. Bu örnekte, yeni bir insan, daha önce hiç kimsenin yapmadığı şekilde olaylara bakmaya başlar veya daha önce bazı küçük davaları ana sürece ve daha önce gerçekten işe yaramayan (ya da hiçbirisini işe yaramayan bir şey) getiren bir iş süreci değişir. zaman) bulunur ve raporlanır.
Geliştirici ona bakar ve "hiç çalışamayacağını" açıklar ancak kullanıcılar "saçma, onu yıllardır kullanıyoruz" diyor ve haklılar ama ilgisiz olduğunu düşündükleri bir şey (ve genellikle geliştirici onlar "ah evet, biz yapacağız gitmek noktada kesin koşulunu bulur o şimdi ve daha önce yoktu" değişti).
İşte geliştirici haklı - asla işe yaramadı ve hiç işe yaramadı.
Ancak her iki durumda da iki şeyden biri doğrudur:
- Asla işe yaramadığı iddiası doğrudur ve asla işe yaramadı - insanlar yaptığını sanıyorlardı
- İşe yaradı ve “asla işe yaramazdı” ifadesi yanlış ve aşağı (genellikle makul) kod ve bağımlılıklarını anlama eksikliğine bağlı.