Saya baru saja menemukan artikel " Aturan Tiga " di wikipedia
Aturan tiga adalah aturan refactoring kode praktis untuk memutuskan kapan potongan kode direplikasi harus diganti dengan prosedur baru. Ini menyatakan bahwa kode dapat disalin sekali, tetapi ketika kode yang sama digunakan tiga kali, itu harus diekstraksi menjadi prosedur baru. Aturan ini diperkenalkan oleh Martin Fowler di Refactoring dan dikaitkan dengan Don Roberts.
Saya tahu bahwa ini hanya aturan praktis, tetapi mengapa disarankan untuk melakukan refactor hanya setelah duplikasi kedua? Apakah ada kerugian untuk refactoring ketika kita menulis duplikasi pertama?