Принцип эквивалентности повторного использования/выпуска (REP) говорит:
единица повторного использования является единицей выпуска. Эффективное повторное использование требует отслеживания выпусков от системы контроля изменений. Пакет является годным изделием повторного использования и выпуска.
единица повторного использования является единицей Кода выпуска
, не должен быть снова использован путем копирования его с одного класса и вставки его в другого. Если исходный автор исправит какие-либо ошибки в коде или добавит какие-либо опции, Вы автоматически не извлечете пользу. Необходимо будет узнать то, что изменяется, затем измените копию. Ваш код и исходный код будут постепенно отличаться.
Вместо этого код должен быть снова использован включением выпущенной библиотеки в Вашем коде. Исходный автор сохраняет ответственность за поддержание его; Вы даже не должны должны быть видеть исходный код.
Эффективное повторное использование требует отслеживания выпусков от системы контроля изменений
, автор библиотеки должен отождествить выпуски с числами или называет каким-то. Это позволяет пользователям библиотеки определять различные версии. Это требует использования некоторой системы слежения выпуска.
пакет является годным изделием повторного использования и выпуска
, могло бы быть возможно использовать класс в качестве единицы повторного использования и выпуска, однако существует столько классов в типовом приложении, это было бы обременительно для системы слежения выпуска для отслеживания их всех. Объект более широкого масштаба требуется, и пакет соответствует этой потребности хорошо.
См. также статью Robert Martin о Гранулярность .