Здравствуйте, so5team, Вы писали:
A>>настоящий вопрос в том, что именно считать мёртвым кодом.
S>Мертвый код -- это который нигде не используется
Сепульки — см. сепуление.
"Не используется" само по себе расплывчатое понятие, через него мёртвый код не определить.
У меня была задача: поддержать управлением устройством X 3. (Название вымышлено, устройство реально). Мои вумные коллеги одновременно: а) уволили индуса, который занимался поддержкой устройств, б) вычистили файлы с названием X 3, поскольку эту модель уже много лет не поставляли на рынок, и, соответственно, код уже не использовался, и даже из UI удалили все способы запуска, в) наняли меня, г) поручили мне задачу поддержать недавно вышедшее на рынок устройство X 4.
Я несколько месяцев с нуля пилил поддержку, за соответствующую сумму. Всех всё устроило. Мне даже подарили
деревянную залупу памятную награду за то, что уложился в срок. А потом я стал смотреть в архивах, оказалось, что буквально заменой пары команд для X 3 можно было обойтись. Конечно же, моя версия код была лучше (как же иначе), но писать код второй раз? Несколько месяцев?
И это ещё у них гита не было на момент моего ухода. Страшно представить, что там началось с внедрением гита.
Управлять кодом, в частности, оценивать, какой код точно не пригодится, это творческая задача. Никакими метриками, инструментами, правилами она не решается. Каждый раз надо думОть.
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.