Re[11]: Мертвый код в проекте - ваше отношение
От: so5team https://stiffstream.com
Дата: 22.12.24 05:32
Оценка:
Здравствуйте, m2user, Вы писали:

S>>И да, вопрос не в том, как образуется "мертвый код". Конкретно в данной ветке отметились персонажи, которые вообще не понимают что такое "мертвый код". Как раз из-за якобы расплывчатого понятия "требуемая функциональность".


M>В моем понимании мертвый код, это код, ставший таковым вследствии изменения требований к продукту (удаление фичей и т.п.).


Это не есть хорошее определение, т.к. оно не описывает ситуаций с рефакторингом.
Например, пусть в приложении была функция, которая делала рекурсивный обход рабочего каталога и удаляла найденные tmp-файлы, оставшиеся от предыдущего запуска, назовем ее find_then_wipe_old_tmp_files. Со временем выяснилось, что она работает медленно, поэтому для эксперимента написали улучшенный вариант, find_then_wipe_old_tmp_files_fast, но старую функцию почему-то не удалили. В коде она есть, в работе программы участия не принимает, на требуемую от программы функциональность влияния не оказывает. Но при этом она является мертвым кодом.

M>- "код, который собирается, и возможно даже тестируется, но никто не знает, зачем оно там и что сломается, если его удалить. (sic!)"


А это не дефиниция вообще. Это другое (с), а именно -- как выясняется, что код мертвый. Ведь на функции find_then_wipe_old_tmp_files не написано, что она является мертвым кодом. Она лежит себе в какой-нибудь библиотеке util, для нее, возможно, какие-то актуальные тесты написаны. Мертвой она от этого быть не перестает, но для того, чтобы выяснить, что она мертвая, нужно провести некоторый анализ.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.