Современная программная инженерия. ПО в эпоху эджайла и непрерывного развертывания [Дэвид Фарли] (pdf) читать постранично, страница - 3

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

СВЯЗНОСТЬ.......................................................................................................... 169
Модульность и связность: основы дизайна......................................................... 169
Базовое снижение связности..................................................................................... 170
Контекст имеет значение.............................................................................................. 173
Высокопроизводительное программное обеспечение................................. 177
Отсылка к связанности.................................................................................................. 178
Обеспечение высокой связности с помощью TDD........................................... 179
Как добиться связности................................................................................................. 179
Цена плохой связности.................................................................................................. 182
Связность в человеческих системах........................................................................ 183
Итоги....................................................................................................................................... 183
ГЛАВА 11. РАЗДЕЛЕНИЕ ОТВЕТСТВЕННОСТИ............................................................ 185
Внедрение зависимости................................................................................................ 189
Разделение необходимой и случайной сложности.......................................... 190
Важность DDD.................................................................................................................... 194
Тестируемость.................................................................................................................... 196
Порты и адаптеры............................................................................................................ 196
Когда использовать порты и адаптеры.................................................................. 199

Оглавление  9

Что такое API?..................................................................................................................... 201
Использование TDD для разделения ответственности.................................. 202
Итоги....................................................................................................................................... 203
ГЛАВА 12. СОКРЫТИЕ ИНФОРМАЦИИ И АБСТРАКЦИЯ........................................ 204
Абстракция или сокрытие информации................................................................ 204
Почему образуются большие комки грязи?......................................................... 205
Организационные и культурные проблемы........................................................ 205
Технические вопросы и вопросы проектирования......................................... 208
Страх чрезмерного усложнения................................................................................ 212
Повышение абстракции с помощью тестирования......................................... 215
Сила абстракции............................................................................................................... 216
Дырявые абстракции...................................................................................................... 218
Выбор подходящих абстракций................................................................................ 220
Абстракции из предметной области....................................................................... 222
Абстрактная случайная сложность.......................................................................... 223
Изолируйте код от сторонних систем .................................................................... 227
Всегда скрывайте информацию, если это возможно....................................... 228
Итоги....................................................................................................................................... 229
ГЛАВА 13. УПРАВЛЕНИЕ СВЯЗАННОСТЬЮ.................................................................. 230
Стоимость связанности................................................................................................. 230
Масштабирование........................................................................................................... 231
Микросервисы................................................................................................................... 232
Снижение связанности может означать больше кода.................................... 235
Слабая связанность — не единственная важная деталь............................... 237
Выбор в пользу слабой связанности....................................................................... 238
В чем отличие от разделения ответственности?............................................... 239
DRY — это слишком просто......................................................................................... 240
Асинхронность как инструмент слабой связанности..................................... 242
Проектирование слабой связанности.................................................................... 244
Слабая связанность в организациях....................................................................... 245
Итоги....................................................................................................................................... 247

10  Оглавление

IV
Инструменты программной инженерии
Глава 14. ИНСТРУМЕНТЫ ИНЖЕНЕРНОЙ ДИСЦИПЛИНЫ.................................... 250
Что такое программная разработка........................................................................ 251
Тестируемость как инструмент.................................................................................. 253
Точки измерения............................................................................................................... 256
Сложности с обеспечением тестируемости......................................................... 257
Как улучшить тестируемость....................................................................................... 261
Развертываемость............................................................................................................ 263
Скорость............................................................................................................................... 265
Управление переменными........................................................................................... 266
Непрерывная доставка.................................................................................................. 267
Общие инструменты для поддержки разработки............................................. 268
Итоги....................................................................................................................................... 269
Глава 15. СОВРЕМЕННЫЙ ИНЖЕНЕР-РАЗРАБОТЧИК.............................................. 270
Инженерия как