私は現在、ソースコード生成ツールに取り組んでいます。変更によって新しいバグが発生しないことを確認するには、変更diff
前と変更後のプログラムの出力の間に理論的に価値のあるツールがあります。
ただし、このツールは、順序が重要ではない行(import
ステートメント、関数宣言など)を半ランダムに並べられた方法で出力するため、予想よりも難しいことがわかります。このため、の出力diff
は、実際には同じファイル内の別の位置に移動された行だけである多くの変更で乱雑になっています。
diffがこれらの動きを無視して、実際に追加または削除された行のみを出力する方法はありますか?
diff
コード内の命令の順序が重要であるため、このツールが有効な移動と無効な移動をどのように分離できるでしょうか。これが当てはまらない場合は制限されます(インポート、関数とクラスの宣言、など)?