Зараз я працюю над інструментом генерації вихідного коду. Щоб переконатися, що мої зміни не вносять нових помилок, diff
між результатами програми до і після моїх змін теоретично буде цінним інструментом.
Однак це виявляється важче, ніж можна було б подумати, тому що інструмент виводить рядки, де порядок не має значення (наприклад, import
заяви, функції декларацій ...) напів випадковим чином упорядкованим способом. Через це висновок diff
утискається безліччю змін, які насправді лише рядки переміщуються на інше місце в тому ж файлі.
Чи є спосіб зробити diff ігнорувати ці рухи та вивести лише рядки, які дійсно були додані чи видалені?
diff
інструмент зміг би відокремити дійсні кроки від недійсних, оскільки Порядок інструкцій у коді має значення, а випадки, коли це не відповідає дійсності, обмежені (імпорт, декларація функцій та класів, тощо)?