2つ以上のクローンを同時に編集できるエディターを開発しました論文.

クローンの悪影響はこれまでに散々議論されてきたことであり,これを回避するためにリファクタリングが有効であるとされてきた. しかし,クローンの中には言語の制限上リファクタリングできないものがあったり,リファクタリングを行うためにコストが必要となる場合も多い. しかし,筆者らはクローンを同時修正できれば問題は起こることがないことから,同時修正のコストをなくすため,複数の場所に対して同時にかけるエディタを提案し,XEmacsのプラグインとして提供した. 確かにクローンの研究をしているとリファクタリングが一番という思考に陥りがちであり,このアイデアはすごく良いと感じた. このプラグインでは,コード片の重複をメタデータとして保持する. 重複していない部分はハイライトするなどのわかりやすさに関する工夫も盛り込まれている. クローンの理解のしやすさや修正の容易さなどをメソッド抽出の場合と比較した場合,時間は圧倒的に勝ち,それいがいも良い結果が出ていた. ただあまりスケールしない手法らしく,実務で使えるかはわからない.

すごくいい論文だと思ったのだが,発表されたのが2004年と古いにも関わらずいままで聞いたことのない手法だったので,あまり流行らなかったのかなぁという感じ. マイクロソフトが出した論文なので,VSCodeにしれっと搭載されてるかもしれない.