Факторы, которые улучшают возможность многократного использования кода

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

  • насколько это уменьшает усилие для реализации и обслуживания
  • качество приложения не делает ухудшается
  • насколько сложность уменьшается

(все по сравнению с перереализацией от более низкого уровня).

PS. Если возможный укажите один фактор на ответ с описанием, как это помогает в Вашем случае.

5
задан 2 revs 30 January 2010 в 13:17
поделиться

3 ответа

Test Driven Development . Для того, чтобы код мог быть легко протестирован на юнит-тестировании, он должен:

1) делать только одно

2) иметь как можно меньше зависимостей

3) часто передавать эти зависимости (чтобы их можно было высмеять)

По удивительному совпадению эти факторы также делают код многоразового использования. На самом деле это не совпадение - лучший способ получить код многократного использования, чтобы его как можно раньше использовали как минимум два вызывающих абонента. Код, созданный с помощью TDD, начинает жизнь с двумя родителями - строящийся код и юнит-тесты, поэтому он используется повторно с самого начала.

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

3
ответ дан 18 December 2019 в 14:46
поделиться

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

5
ответ дан 18 December 2019 в 14:46
поделиться

Функции, по сути, не должны иметь побочных эффектов. Не использовать глобальные переменные - передавать то, что нужно функции в аргументах, и передавать вывод функции в качестве возвращаемого значения

.
2
ответ дан 18 December 2019 в 14:46
поделиться
Другие вопросы по тегам:

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