Plugin finder copy-paste-kode i udviklingsværktøj
Vi ved det godt. Man må ikke kopiere kode fra ét sted i ens program til et andet sted.
I stedet skal koden omskrives - refaktoreres - så funktionaliteten generaliseres og derefter anvendes begge steder, med behørig parametrisering.
I hvert fald i teorien. Men virkeligheden er ikke altid som i lærebøgerne. Hvem af os har ikke lige fitlihuttet en ny feature med lidt copy-paste-kung fu. Bare indrøm det, kære læser.
Nu har værktøjsfirmaet Jetbrains og HSE University i Moskva gjort noget ved unoderne. Det skriver The Register.
Resultatet er en udvidelse til værktøjet Jetbrains Idea.
Udvidelsen, med det sigende navn Anticopypaster, overvåger kopiering og indsættelse, der finder sted i udviklingsværktøjet.
Så snart et kodefragment indsættes, kontrollerer udvidelsen om der er tale om en dublet. Men det er smartere end som så.
Hvis der er tale om kopiering, undersøger en machine learning-model, en 'gradient boosting classifier', hvorvidt koden er egnet til værktøjets indbyggede Extract Method-refaktorering. Hvis det er tilfældet, foreslås brugeren at udføre refaktoreringen.
