Программист-прагматик. Путь от подмастерья к мастеру
Э. Хант, Д. Томас
Находясь на переднем крае программирования, книга «Программист-прагматик» абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса - требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы - от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании. Прочитав эту книгу, вы научитесь:
- Бороться с недостатками программного обеспечения;
- Избегать ловушек, связанных с дублированием;
- Создавать гибкие, динамичные и адаптируемые программы;
- Избегать программирования в расчете на совпадение;
- Защищать вашу программу при помощи контрактов, утверждений и исключений;
- Собирать реальные требования;
- Осуществлять безжалостное и эффективное тестирование;
- Приводить в восторг ваших пользователей;
- Формировать команды из программистов-прагматиков;
С помощью автоматизации делать ваши разработки более точными.
Книга «Программист-прагматик» написана в виде последовательных законченных разделов и изобилует анекдотами, серьезными примерами и разнообразными аналогиями. В ней описываются самые интересные случаи из практики авторов и основные ловушки, относящиеся к разным аспектам разработки программ.
Будь вы новичок, опытный программист или менеджер, ответственный за проекты в области программного обеспечения, - в любом случае используйте в своей работе уроки, описанные в книге, и вскоре ваша производительность, точность и удовлетворение от сделанной работы возрастут. Вы получите навыки и сформируете привычки, которые станут основой для долгосрочной успешной карьеры. Вы станете программистом-прагматиком.
Издательство: Лори, 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 Общайтесь!
- 2 1 Мой исходный текст съел кот Мурзик
- 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 Что сказать, если вас просят оценить что-либо
- 22 7 Пороки дублирования
- 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 Генераторы текста не всегда генерируют тексты программ
- 62 14 Преимущества простого текста
- 95 Глава 4. Прагматическая паранойя
- 96 21 Проектирование по контракту
- 100 Реализация принципа ППК
- 101 ППК и аварийное завершение работы программы
- 103 Другие случаи применения инвариантов
- 104 Динамические контракты и агенты
- 107 22 Мертвые программы не лгут
- 107 Аварийное завершение не означает «отправить в корзину для мусора»
- 109 23 Программирование утверждений
- 110 Не отключайте утверждения
- 112 24 Случаи, в которых используются исключения
- 113 Что является исключительным?
- 114 Обработчики ошибок как альтернатива исключению
- 116 25 Балансировка ресурсов
- 119 Объекты и исключения
- 119 Балансировка и исключения
- 121 Случаи, при которых балансировка ресурсов невозможна
- 122 Проверка баланса
- 96 21 Проектирование по контракту
- 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 Пример приложения
- 126 26 Несвязанность и закон Деметера
- 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 Злые волшебники
- 156 31 Программирование в расчете на стечение обстоятельств
- 183 Глава 7. Перед тем, как начать проект
- 184 36 Карьер для добычи требований
- 184 В поисках требований
- 186 Документация требований
- 189 Чрезмерная спецификация
- 189 Видеть перспективу
- 190 Еще одна мелочь
- 191 Поддержка глоссария
- 191 Прошу слова
- 192 37 Разгадка невероятных головоломок
- 193 Степени свободы
- 194 Есть более простой способ!
- 195 38 Чувство готовности
- 195 Здравое суждение или промедление?
- 196 39 Западня со стороны требований
- 199 40 Круги и стрелки
- 200 Какова отдача от методов?
- 201 Нужно ли использовать формальные методы?
- 184 36 Карьер для добычи требований
- 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 Гордость и предубеждение
- 204 41 Команды прагматиков
- 235 Приложение А. Информационные ресурсы
- 236 Профессиональные общества
- 236 Собираем библиотеку
- 239 Интернет-ресурсы
- 253 Приложение В. Ответы к упражнениям
Инструкция как скачать книгу Э. Хант, Д. Томас: Программист-прагматик. Путь от подмастерья к мастеру в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.