Повторное использование против ремонтопригодности и простоты тестирования
-
30-09-2019 - |
Вопрос
Всем нравится говорить о воспроизведении. Где я работаю, всякий раз, когда какая-то новая идея бросается вокруг или проверена, вопрос о воспроизведении всегда возникает. «Мы хотим максимизировать наши инвестиции в это, давайте сделаем его многоразовым». «Повторное использование принесет более высокое качество с меньшей работой». И так далее, и так далее.
То, что я нашел, это то, что когда введен многоразовый компонент или идею, все сразу не боятся его и пишет его как плохое представление. После того, как приложения будут зависеть от этого, они говорят, что он не будет поддерживаться, и любые изменения приведут к необходимости проводить регрессионные тестирования на все, что это использует. Люди здесь указывают на один компонент, в частности, это было в течение длительного времени и имеет большое количество иждивенцев и выросла, что становится невозможно изменить, потому что мы не знаем, что перерываются изменения.
Мои ответы на эту жалобу:
- Хорошо, что изменение компонента, которое имеет много иждивенцев, медленное, потому что он заставляет конструкторов действительно думать через изменения.
- Время следует принять, чтобы получить компонент прямо в первую очередь. Корлолле: Если вы обнаружите необходимость менять его все время, это никогда не было очень многоразовым для начала, было ли это?
- Разработка программного обеспечения трудна и требует работы. Так что тестирование. Вы просто должны сделать это.
К сожалению, то, что люди слышат в этих ответах, являются «медленными», «время» и «усилие».
Я бы понравился, если бы была волшебная «Сделай этот многоразовый» переключатель, я мог бы перевернуть вещи, которые я строю, чтобы выиграть очки Brownie от управления, но вещи не работают таким образом. Создание чего-то многоразового использования времени и усилий, и вы все еще не гарантируете его правильно.
Как вы справляетесь с просьбой «повторное использование» при доставке, кажется, ничего не приносят, кроме жалоб?
Решение
Повторножеемость только стоит, если что-то на самом деле будет повторно использовать. Убедитесь, что у вас есть практические повторные случаи, прежде чем писать что-то многоразовое.
Даже если библиотека многоразового использования - это 10 раза, чтобы поддерживать специальную версию самостоятельно, вы все еще сохраняете на обслуживании в целом, если библиотека многоразового использования используется вместо специальных версий в 10 различных местах.
Другие советы
Повторное использование состоит в том, чтобы сделать код многоразового использования в течение срока поведения или отношения «IS_A». Если вы просто хотите повторно использовать блок кода, увидев их снова и снова и снова, но у них нет аналогичных характеристик, вам следует лучше оставить их в одиночку, чтобы быть свободно муфтой. Тем, что мы можем иметь больше гибкости для изменения позже.
Одна вещь, которую мы часто делаем, это использовать версии и избежать постоянной повторной тестирования. Просто потому, что есть новая версия общего кода, не означает, что все должно использовать новую версию прямо сейчас. Когда что-то обновляется по другим причинам, обновите до новой версии общего кода.