Yeniden düzenleme, odanızı almak gibidir.
İşleri düzenli tutarsanız, algoritma teriminde O (n) kodunda yaptığınız üretken iş miktarıyla orantılı olarak doğrusal bir ek yükünüz vardır. Zamanınızın% 10'unu yeniden düzenleyerek (veya odanızı düzenli tutarken) harcadığınızı varsayarsak,% 10'luk bir değer verilir ve zamanla sabit kalacaktır.
Bununla birlikte, kirli çamaşırlarınızı bir köşeye atarsanız ve yapmaya devam ederseniz, odayı toplamak için harcayacağınız süre artar, karışıklık daha karmaşık hale gelir. Kirli çamaşır katkı sağlar, her bireysel parçası katlanarak gerekli temizleme süresi için, bir O (e şimdi olduğu varsayılarak , n ) bir durum.
Algoritmik karmaşıklık kavramına daha önce dalmış olan herkes, bir yerlerde bir kırılma noktası olduğunu, yani biriktirilecek en uygun miktarda kirli çamaşırın olduğunu gözlemleyecektir; Bunun ne kadarı büyük O notasyonunda atılan sabit faktörlere bağlıdır. Diğer bir faktör, zamanla işinizin değeridir: işiniz şimdi çok değerliyse, ancak gelecek hafta ucuza gelirse (yani, bu proje için bu cuma günü ve üç tane daha var, ancak bundan sonra boşta kalacaksınız) ), denklem yeniden yapmamak lehine sonuçlanabilir.
Ve sonra karmaşıklık kritik kütle var. Bir noktada, karışıklık ('kritik karışıklık', eğer istersen) o kadar kötüleşir ki, tüm odayı yakıp yeni kıyafetler almak daha kolay olur. Gerçekte genellikle değildir, ancak öyle gözükmektedir ve psikolojik etkiler olayla baş etmeyi on kat daha zor hale getirecektir.
Ve açıkçası, eğer zaten dev bir çarpma gereksizliği olan bir projeye adım attıysanız, sınırlı bir seçeneğiniz vardır.
TL; DR: Şüphe durumunda, refactor. Yapmamaya karar vermeden önce gerçekten iyi bir kanıtın olmalı.