LINUX.ORG.RU

История изменений

Исправление Nervous, (текущая версия) :

Если по ТЗ должен быть список, то почему не список?

По ТЗ у тебя система для управления зоопарком. Списки разрабатывать не надо, они уже разработаны.

Если вдруг ТЗ изменится настолько, что списки не подходят, то лучше переписать всё

Как ты думаешь, бизнес будет согласен на каждый чих заново переписывать всё, выбрасывая на ветер кучу времени и денег и распугивая клиентов, у которых раз в год (или в месяц) всё перестаёт работать от слова совсем и нужно срочно переписывать весь клиентский код с кададров на сепульки? Или всё-таки постарается по максимуму этого избежать?

чем пытаться совместить два интерфейса

Не надо ничего совмещать, если у твоего зоопарка уже есть нормальный публичный интерфейс. Он представляет собой контракт между твоим кодом и тем кодом, что его использует, и пока интерфейс остаётся неизменным — ты можешь шатать реализацию как твоей душе угодно. Заменять списки на хэшмапы, менять фреймворки, переписывать всё на расте (если ты предоставляешь доступ к своему API по сети) — и у твоих пользователей ничего не сломается.

Исходная версия Nervous, :

Если по ТЗ должен быть список, то почему не список?

По ТЗ у тебя система для управления зоопарком. Списки разрабатывать не надо, они уже разработаны.

Если вдруг ТЗ изменится настолько, что списки не подходят, то лучше переписать всё

Как ты думвешь, бизнес будет согласен на каждый чих заново переписывать всё, выбрасывая на ветер кучу времени и денег и распугивая клиентов, у которых раз в год (или в месяц) всё перестаёт работать от слова совсем и нужно срочно переписывать весь клиентский код с кададров на сепульки? Или всё-таки постарается по максимуму этого избежать?

чем пытаться совместить два интерфейса

Не надо ничего совмещать, если у твоего зоопарка уже есть нормальный публичный интерфейс. Он представляет собой контракт между твоим кодом и тем кодом, что его использует, и пока интерфейс остаётся неизменным — ты можешь шатать реализацию как твоей душе угодно. Заменять списки на хэшмапы, менять фреймворки, переписывать всё на расте (если ты предоставляешь доступ к своему API по сети) — и у твоих пользователей ничего не сломается.