Здравствуйте, m2user, Вы писали:
S>>Ну ничего себе. У вас код без удаленного фрагмента полностью и собирается, и линкуется. После чего работает и повторяет все требующуюся вам функциональность. Никакой расплывчатости.
M>Требуемая функциональность — это расплывчатое понятие.
Афигеть! А это как?
Вот у вас есть ТЗ, в котором описаны требования к ПО.
Есть программа и методика испытаний, по которой будет ПО приниматься. По итогам прохождения ПСИ будет сформирован некий протокол, в котором будет перечислено что не работает, что работает не так и что и за счет кого будет дорабатываться.
Даже если разработка ведется без жесткой формализации, все равно есть список фич для очередного релиза + список фич существующей версии ПО, + набор тестов (тестов разных типов) для контроля качества и регрессий.
Удаление полезного кода явным образом приведет к тому, что вы не пройдете ПСИ.
Тогда как удаление мертвого кода на наблюдаемой фунциональности ПО вообще не сказывается.
M>Как в примере с поддержкой устройств X3/X4.
Пример с поддержкой устройств X3/X4 вообще про другое. Там ПО удовлетворяло требованиям по функциональности как в версии с поддержкой X3 (и тогда код для X3 не был мертвым), так и в версии без поддержки X3 (и тогда код для X3 был мертвым с точки зрения обеспечения требовавшегося от ПО функционала).
И вопрос, имхо, лежал в плоскости передачи знаний о продукте от разработчиков к разработчикам.
M>Бизнес/маркетинг может менять свои требования неоднократно.
Даже если разработка ведется по какой-нибудь версии аджайла (или что там сейчас модное и молодежное?), то все равно у вас есть зафиксированные цели на текущий спринт. Так что требуемая функциональность все равно находится под контролем.
А если это не так, что какая же это разработка ПО, это бардак какой-то.