Мой личный взгляд, основанный на практике в моей компании:
- Вы или ваша компания пытаетесь повторно использовать код?
Очевидно, что если у нас есть другой фрагмент кода, который уже соответствует нашим потребностям, мы будем использовать его повторно. Однако мы не стараемся использовать квадратные колышки в круглых отверстиях.
- Если да, то как и на каком уровне, например, API низкого уровня, компоненты или общая бизнес-логика? Как вы или ваша компания повторно используете код?
На каждом уровне. В наших стандартах кодирования написано, что разработчики должны всегда предполагать, что их код будет использоваться повторно, даже если в действительности это маловероятно. См. Ниже
Если ваша модель ОО хороша, ваш API, вероятно, отражает вашу бизнес-область, поэтому повторно используемые классы, вероятно, приравниваются к бизнес-логике многократного использования без дополнительных усилий.
Для фактического повторного использования одним из ключевых моментов является знание того, какой код уже доступен. Мы решаем это, имея все документы в центральном месте. Нам просто нужна небольшая дисциплина, чтобы убедиться, что документация актуальна и доступна для поиска.
Да, но не из-за потенциального или фактического повторного использования! На самом деле, за исключением нескольких базовых библиотек и компонентов пользовательского интерфейса, повторного использования не так много.
По моему личному мнению, реальная ценность в том, чтобы сделать код повторно используемым . При этом, кроме, как мы надеемся, более чистого API, код будет (а) достаточно документирован, чтобы другой разработчик мог использовать его без перетаскивания исходного кода , и (б) он также будет заменяемым . Эти пункты являются большим преимуществом для постоянного обслуживания программного обеспечения.