Как Вы поддержали бы [закрытые] унаследованные приложения

Другой вариант заключается в использовании EXCEPT

select a 
from temp
except
select a
from temp2;
6
задан Graviton 9 August 2009 в 11:27
поделиться

7 ответов

Две вещи.

  1. Запишите модульные тесты, поскольку у Вас есть шанс.
  2. После того как у Вас есть достаточно модульных тестов, чтобы быть уверенными, начните осуществлять рефакторинг.

Уровень, на котором Вы выполняете это, может быть медленным.... Как правило, Вы предполагаетесь к, "просто поддерживают, это" не фиксирует его.

Во время "изучения, как поддержать его" фаза, однако, можно записать много модульных тестов.

Затем поскольку ошибки найдены и улучшения требуются, можно добавить еще больше тестов.

Это является Гибким, относился к наследию.

3
ответ дан 8 December 2019 в 04:10
поделиться

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

7
ответ дан 8 December 2019 в 04:10
поделиться

Я думаю, что создал бы маленький набор Актуальной информации: Какие вызовы Действия, который функционирует и т.д.

Оттуда, я посмотрел бы на рефакторинг. Дублированная Логика, кажется, что-то, что могло быть пересмотрено, но помнить это

  • Это может быть огромной задачей, когда Вы понимаете в том, сколько многих мест, которыми логику называют и
  • Две функции, которые кажутся подобными, могут иметь крошечное различие, т.е. - вместо +

Я думаю, что самое большое желание сопротивляться, "Просто восстанавливают целую проклятую вещь!" и получите обзор системы сначала, для демистифицирования зверя.

1
ответ дан 8 December 2019 в 04:10
поделиться

Я видел, работал, и работаю в кодовой базе, которая удовлетворяет все условия, который упоминается в вопросе :-)

Подход, сопровождаемый в поддержании этой кодовой базы НИЧЕГО не должен ПОВРЕЖДАТЬ. FWIW, работы кода и конечные пользователи счастливы. Никто не собирается слушать крики разработчика, что существует дублирование кода, трудно кодированные строки и т.д. Мы просто крадем некоторое время, чтобы зафиксировать безотносительно возможный и проявить предельную заботу для не представления новых ошибок..

2
ответ дан 8 December 2019 в 04:10
поделиться

комната sudo-rf /

Но более серьезно, я думаю, что это должно быть оценено. Если код постоянно является источником запросов на изменение, и изменения являются трудными затем в ближайшее время, необходимо рассмотреть, стоит ли это того для попытки refactor/re-engineer система во что-то более современное. Конечно, это не всегда практично, таким образом, Вы часто заканчиваете со всего несколькими людьми в командах, которые ответственны за поддержание частей прежней версии. Как можно больше, все в команде должны смочь поддержать все части системы......

Еще одна вещь, что я думаю, важна, должен отследить количество времени и усилие, что команда тратит работу над обслуживанием/запросами новых функций выполнения унаследованной системы. Эти метрики могут быть убедительными при оценке планирования нового усилия заменить системы/компоненты прежней версии.

1
ответ дан 8 December 2019 в 04:10
поделиться

Я в основном соглашаюсь со всем, что Paul C сказал. Я не священник TDD, но каждый раз, когда Вы касаетесь кодовой базы прежней версии - особенно один, с которым Вы не глубоко знакомы - у Вас должен быть твердый способ повторно протестировать и удостовериться, что Вы следовали за Hippocrates: Во-первых, не причинить вреда. Тестирование, хорошая единица и регрессионные тесты, в частности, о единственном способе сделать ту игру.

Я настоятельно рекомендую забирание копии Инвертирования: Секреты Инженерного анализа программного обеспечения, если это - кодовая база, с которой Вы незнакомы. Хотя эта книга переходит к большим глубинам, которые являются вне Ваших текущих потребностей (и мои, в этом отношении), она учила меня много тому, как к безопасно и нормально работают с чужим кодом.

0
ответ дан 8 December 2019 в 04:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: