КулЛиб - Классная библиотека! Скачать книги бесплатно
Всего книг - 715449 томов
Объем библиотеки - 1418 Гб.
Всего авторов - 275274
Пользователей - 125227

Новое на форуме

Новое в блогах

Впечатления

Каркун про Салтыков-Щедрин: Господа Головлевы (Классическая проза)

Прекраснейший текст! Не текст, а горький мёд. Лучшее, из того, что написал Михаил Евграфович. Литературный язык - чистое наслаждение. Жемчужина отечественной словесности. А прочесть эту книгу, нужно уже поживши. Будучи никак не моложе тридцати.
Школьникам эту книгу не "прожить". Не прочувствовать, как красива родная речь в этом романе.

Рейтинг: +4 ( 4 за, 0 против).
Каркун про Кук: Огненная тень (Фэнтези: прочее)

Интереснейшая история в замечательном переводе. Можжевельник. Мрачный северный город, где всегда зябко и сыро. Маррон Шед, жалкий никудышный человек. Тварь дрожащая, что право имеет. Но... ему сочувствуешь и сопереживаешь его рефлексиям. Замечательный текст!

Рейтинг: 0 ( 0 за, 0 против).
Каркун про Кук: Десять поверженных. Первая Летопись Черной Гвардии: Пенталогия (Фэнтези: прочее)

Первые два романа "Чёрной гвардии" - это жемчужины тёмной фэнтези. И лучше Шведова никто историю Каркуна не перевёл. А последующий "Чёрный отряд" - третья книга и т. д., в других переводах - просто ремесловщина без грана таланта. Оригинальный текст автора реально изуродовали поденщики. Сюжет тащит, но читать не очень. Лишь первые две читаются замечательно.

Рейтинг: 0 ( 0 за, 0 против).
Каркун про Вэнс: Планета риска (Космическая фантастика)

Безусловно лучший перевод, одного из лучших романов Вэнса (Не считая романов цикла "Умирающая земля"). Всегда перечитываю с наслаждением.

Рейтинг: 0 ( 0 за, 0 против).
pva2408 про Харников: Вечерний Чарльстон (Альтернативная история)

Ну, знаете, вас, скаклоамериканцев и ваших хозяев, нам не перещеголять в переписывании истории.

Кстати, чому не на фронті? Ухилянт?

Рейтинг: +3 ( 3 за, 0 против).

Код, который умещается в голове. Эвристики для разработчиков [Марк Симан] (pdf) читать постранично, страница - 2

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


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

. . . . . . . 25
Примечание для архитекторов ПО . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Структура книги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
О стиле кода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Типизировать явно или неявно . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Примеры кода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Примечание к библиографии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
О моих книгах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
От издательства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Об авторе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

7

Оглавление

ЧАСТЬ I
РАЗВИТИЕ
Глава 1. Искусство или наука? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.1. Строительство здания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.1.1. Проблема проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.1.2. Этапы разработки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.1.3. Зависимости . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.2. Возделывание сада . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.2.1. Что заставляет сад расти? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.3. С точки зрения инженерии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.3.1. Программирование как ремесло . . . . . . . . . . . . . . . . . . . . . . . 37
1.3.2. Эвристика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.3.3. Ранние представления о разработке ПО . . . . . . . . . . . . . . . . 40
1.3.4. Становление и развитие программной инженерии . . . . . . 41
1.4. Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Глава 2. Чек-листы: история, виды, преимущества . . . . . . . . . . . . . . . . . . 45
2.1. Как ничего не забыть . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.2. Чек-лист для новой кодовой базы . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.2.1. Использовать Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.2. Автоматизировать сборку . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.2.3. Включить все сообщения об ошибках . . . . . . . . . . . . . . . . . . 54
2.3. Добавление проверок в существующие кодовые базы . . . . . . . 61
2.3.1. Постепенное улучшение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.3.2. «Взломайте» свою организацию . . . . . . . . . . . . . . . . . . . . . . . 62
2.4. Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Глава 3. Преодоление трудностей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.1. Цель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.1.1. Надежность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.1.2. Ценность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

8

Оглавление

3.2. Почему программировать так сложно? . . . . . . . . . . . . . . . . . . . . . 70
3.2.1. Аналогия с мозгом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.2.2. Код больше читается, чем пишется . . . . . . . . . . . . . . . . . . . . . 72
3.2.3. Удобочитаемость . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.2.4. Интеллектуальный труд . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.3. Навстречу программной инженерии . . . . . . . . . . . . . . . . . . . . . . . 76
3.3.1. Связь с computer science . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.3.2. Гуманный код . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.4. Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Глава 4. Вертикальный срез . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.1. Начните с рабочего ПО . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.1.1. От поступления данных до их сохранения . . . . . . . . . . . . . . 81
4.1.2. Минимальный вертикальный срез . . . . . . . . . . . . . . . . . . . . . 82
4.2. «Ходячий скелет» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.2.1. Характеризационные тесты . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.2.2. Паттерн AAA (Arrange-Act-Assert) . . . . . . . . . . . . . . . . . . . . . 87
4.2.3. Модерация статического анализа . . . . . . . . . . . . . . . . . . . . . . 88
4.3. Модель тестирования «от общего к частному» (оutside-in) . . 92
4.3.1. Получение данных JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.3.2. Размещение бронирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.3.3. Модульное тестирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . .