Программист-прагматик. Путь от подмастерья к мастеру

Э. Хант, Д. Томас

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

  • Бороться с недостатками программного обеспечения;
  • Избегать ловушек, связанных с дублированием;
  • Создавать гибкие, динамичные и адаптируемые программы;
  • Избегать программирования в расчете на совпадение;
  • Защищать вашу программу при помощи контрактов, утверждений и исключений;
  • Собирать реальные требования;
  • Осуществлять безжалостное и эффективное тестирование;
  • Приводить в восторг ваших пользователей;
  • Формировать команды из программистов-прагматиков;

С помощью автоматизации делать ваши разработки более точными.

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

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

Издательство: Лори, 2009 г.

ISBN 5-85582-213-3, 0-201-61622-X

Количество страниц: 270.

Содержание книги «Программист-прагматик. Путь от подмастерья к мастеру»:

  • 1 Глава 1. Прагматическая философия
    • 2 1 Мой исходный текст съел кот Мурзик
      • 2 Принятие ответственности
    • 3 2 Энтропия в программах
    • 6 3 Суп из камней и сварившиеся лягушки
    • 8 4 Приемлемые программы
      • 8 Находите компромисс с пользователями
      • 9 Знайте меру
    • 10 5 Портфель знаний
      • 11 Ваш портфель знаний
      • 11 Построение вашего портфеля
      • 12 Цели
      • 13 Возможности обучения
      • 14 Критическое осмысление
    • 15 6 Общайтесь!
  • 21 Глава 2. Прагматический подход
    • 22 7 Пороки дублирования
      • 23 Как возникает дублирование?
      • 23 Навязанное дублирование
      • 25 Неумышленное дублирование
      • 26 Нетерпеливое дублирование
      • 27 Коллективное дублирование
    • 28 8 Ортогональность
      • 28 Что такое ортогональность?
      • 29 Преимущества ортогональности
      • 31 Проектные группы
      • 31 Проектирование
      • 33 Инструментарии и библиотеки
      • 34 Написание текста программы
      • 35 Тестирование
      • 36 Документация
      • 36 Жизнь в условиях ортогональности
    • 37 9 Обратимость
      • 39 Гибкая архитектура
    • 41 10 Стрельба трассирующими
      • 41 Программа, которую видно в темноте
      • 43 При стрельбе трассирующими вы не всегда попадаете в цель
      • 44 Программа трассировки и создание прототипов
    • 45 11 Прототипы и памятные записки
      • 46 Для чего создаются прототипы
      • 46 Как использовать прототипы
      • 47 Создание прототипов архитектуры
      • 48 Как не надо использовать прототипы
    • 49 12 Языки, отражающие специфику предметной области
    • 55 13 Оценка
      • 56 Насколько точной является «приемлемая точность»?
      • 57 Из чего исходят оценки?
      • 60 Что сказать, если вас просят оценить что-либо
  • 61 Глава 3. Походный набор инструментов
    • 62 14 Преимущества простого текста
      • 63 Что такое простой текст?
      • 63 Недостатки
      • 64 Преимущества простого текста
      • 66 Подводим итог
    • 67 15 Игры с оболочками
      • 70 Утилиты оболочек и системы Windows
    • 71 16 Мощь редактирования
      • 71 Один-единственный редактор
      • 72 Средства редактирования
      • 73 Производительность
      • 74 Куда же направиться?
      • 75 Какой же редактор выбрать?
    • 75 17 Управление исходным текстом программ
      • 77 Команда, в которой я работаю, не использует систему управления исходным текстом
      • 78 Программы управления исходным текстом
    • 78 18 Отладка
      • 79 Психология процесса отладки
      • 79 Умонастроение отладки
      • 80 С чего начать?
      • 81 Стратегии отладки
      • 85 Элемент удивления
      • 86 Контрольные вопросы при отладке
    • 86 19 Обработка текста
    • 90 20 Генераторы текстов программ
      • 90 Пассивные генераторы
      • 91 Активные генераторы текста
      • 93 Генераторы текста не должны быть слишком сложными
      • 93 Генераторы текста не всегда генерируют тексты программ
  • 95 Глава 4. Прагматическая паранойя
    • 96 21 Проектирование по контракту
      • 100 Реализация принципа ППК
      • 101 ППК и аварийное завершение работы программы
      • 103 Другие случаи применения инвариантов
      • 104 Динамические контракты и агенты
    • 107 22 Мертвые программы не лгут
      • 107 Аварийное завершение не означает «отправить в корзину для мусора»
    • 109 23 Программирование утверждений
      • 110 Не отключайте утверждения
    • 112 24 Случаи, в которых используются исключения
      • 113 Что является исключительным?
      • 114 Обработчики ошибок как альтернатива исключению
    • 116 25 Балансировка ресурсов
      • 119 Объекты и исключения
      • 119 Балансировка и исключения
      • 121 Случаи, при которых балансировка ресурсов невозможна
      • 122 Проверка баланса
  • 125 Глава 5. Гибкость против хрупкости
    • 126 26 Несвязанность и закон Деметера
      • 126 Сведение связанности к минимуму
      • 128 Закон Деметера для функций
      • 128 А не все ли равно?
    • 131 27 Метапрограммирование
      • 131 Динамическая конфигурация
      • 132 Приложения, управляемые метаданными
    • 136 28 Временное связывание
      • 137 Последовательность операций
      • 138 Архитектура
      • 140 Проектирование с использованием принципа параллелизма
      • 142 Развертывание
    • 143 29 Всего лишь визуальное представление
      • 143 Протокол «Публикация и подписка»
      • 145 Принцип «модель-визуальное представление-контроллер»
      • 147 Отходя от графических интерфейсов
      • 149 Все такой же связанный (после стольких лет)
    • 150 30 Доски объявлений
      • 151 Реализация концепции доски объявлений
      • 153 Пример приложения
  • 155 Глава 6. Пока вы пишете программу
    • 156 31 Программирование в расчете на стечение обстоятельств
      • 156 Как программировать в расчете на стечение обстоятельств
      • 158 Преднамеренное программирование
    • 160 32 Скорость алгоритма
      • 161 Что подразумевается под оценкой алгоритмов?
      • 161 Система обозначений O()
      • 163 Оценка с точки зрения здравого смысла
      • 164 Скорость алгоритма на практике
    • 167 33 Реорганизация
      • 168 Когда осуществлять реорганизацию?
      • 169 Как производится реорганизация?
    • 172 34 Программа, которую легко тестировать
      • 172 Модульное тестирование
      • 173 Тестирование в рамках контракта
      • 175 Создание модульных тестов
      • 176 Применение тестовых стендов
      • 178 Построение тестового окна
      • 179 Культура тестирования
    • 180 35 Злые волшебники
  • 183 Глава 7. Перед тем, как начать проект
    • 184 36 Карьер для добычи требований
      • 184 В поисках требований
      • 186 Документация требований
      • 189 Чрезмерная спецификация
      • 189 Видеть перспективу
      • 190 Еще одна мелочь
      • 191 Поддержка глоссария
      • 191 Прошу слова
    • 192 37 Разгадка невероятных головоломок
      • 193 Степени свободы
      • 194 Есть более простой способ!
    • 195 38 Чувство готовности
      • 195 Здравое суждение или промедление?
    • 196 39 Западня со стороны требований
    • 199 40 Круги и стрелки
      • 200 Какова отдача от методов?
      • 201 Нужно ли использовать формальные методы?
  • 203 Глава 8. Прагматические проекты
    • 204 41 Команды прагматиков
      • 204 Никаких разбитых окон
      • 204 Сварившиеся лягушки
      • 205 Общайтесь
      • 206 Не повторяйте самого себя
      • 206 Ортогональность
      • 208 Автоматизация
      • 208 Чувствуйте момент, когда нужно остановиться
    • 209 42 Вездесущая автоматизация
      • 210 Все в автоматическом режиме
      • 211 Компилирование проекта
      • 212 Автоматизация процесса сборки
      • 213 Автоматические административные процедуры
      • 215 Дети сапожника
    • 216 43 Безжалостное тестирование
      • 217 Что тестировать
      • 219 Как проводить тестирование
      • 223 Когда тестировать
      • 224 Кольцо сжимается
    • 225 44 Все эти сочинения
      • 226 Комментарии в программе
      • 228 Исполняемые документы
      • 229 Технические писатели
      • 229 Печатать документ или ткать его на холсте?
      • 230 Языки разметки
    • 231 45 Большие надежды
      • 232 Передача надежд
      • 233 Небольшой довесок
    • 234 46 Гордость и предубеждение
  • 235 Приложение А. Информационные ресурсы
    • 236 Профессиональные общества
    • 236 Собираем библиотеку
    • 239 Интернет-ресурсы
  • 253 Приложение В. Ответы к упражнениям

Инструкция как скачать книгу Э. Хант, Д. Томас: Программист-прагматик. Путь от подмастерья к мастеру в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Программист-прагматик. Путь от подмастерья к мастеру
Рейтинг книги:
0 голосов
897

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: