Ben kod yaklaşık 150k hatları ile eski bir PHP projesinde yinelenen kodu ile uğraşan en iyi yaklaşım için arıyorum.
Bu şey iyi elle yaklaştı veya acıyı silecek bağımsız yinelenen kod dedektörleri var mı?
As the other answers already mention, this should be approached manually, because you may want to change other things as you go along to make the code base cleaner. Maybe the actual invocation is already superfluous, or similar fragments can be combined.
Ayrıca, uygulama kişilerde genellikle hafif kopyalanan kodunu değiştirmek, orada sık sık doğrudan çoğaltmaları, ama yakın varyantları olmaz. Ben otomatik c & p algılama çoğunlukla orada başarısız korkuyorlar.
Acutally (ve bazen de muhtemel adaylar bulmakta) değişiklikleri gerçekleştirirken size yardımcı olabilir üstlenmeden araçları ancak vardır. "Php üstlenmeden" için Google, bağımsız ve IDE parçası olarak her ikisi de kullanılabilir epeyce araçları vardır.
CloneDR tam kopyalar, hem kod çoğaltmak bulur ve yakın özlüyor, büyük kaynak sistemleri arasında, dildeki sözdizimi parametreli. Klonlarının tespit edilen her set için, hatta klonları değiştirmek için kullanılan olabilir soyutlama kodunun bir kroki önerecek.
PHP sistemi dahil olmak üzere birçok langauges, için kullanılabilir. Joomla (PHP çerçeve) için bir örnek PHP klon algılama raporu linkten ulaşabilirsiniz.
Ayrıca bu kod çoğaltılması yol olduğunu dikkate the process alınız!
Kodunu değiştirmek varsa, bu sizin yeni bir amaç için hem de eski bir amaç için kullanılabilir böylece refactor daha kod çoğaltmak çoğu kez hızlı.
Yani o long run yerine, kısa vadede zaman tasarrufu gibi üstlenmeden basit çoğaltarak daha iyi olduğuna insanları ikna etmek zorunda.
Aksi takdirde burada yayınlanan bu çok aynı soruya Googling iki yıl içinde kendinizi bulabilirsiniz!
Belki de bu grep thread size yardımcı olabilir?