Читаемый код, или Программирование как искусство

Дастин Босуэлл, Тревор Фаучер

Любому программисту доводилось видеть код, который настолько неаккуратен и так пестрит ошибками, что от его чтения начинает болеть голова. За пять лет авторы этой книги проанализировали сотни примеров «плохого» кода (в основном - собственного), пытаясь определить, чем плох тот или иной код и как его можно улучшить. К какому выводу они пришли? Необходимо писать такой код, который читатель сможет понять максимально быстро, причем, даже если этот читатель - сам создатель этого кода.

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

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

ISBN 978-5-459-01188-3, 978-0596802295

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

Содержание книги «Читаемый код, или Программирование как искусство»:

  • 13 Предисловие
    • 14 О чем эта книга
    • 15 Как читать эту книгу
    • 15 Использование примеров кода
    • 15 Как с нами связаться
    • 16 Благодарности
  • 17 Об авторах
  • 18 От издательства
  • 19 Глава 1. Код должен быть простым для понимания
    • 20 Что делает код «лучше»?
    • 21 Фундаментальная теорема читаемости
    • 21 Меньше – значит лучше?
    • 22 Противоречит ли время-для-понимания другим целям?
    • 22 Самое сложное
  • Часть I. Поверхностные улучшения
  • 25 Глава 2. Помещаем в имена полезную информацию
    • 26 Выбираем конкретные слова
    • 28 Избегаем общих имен, например таких, как tmp и retval
    • 31 Используйте конкретные имена вместо абстрактных
    • 33 Добавление дополнительной информации к имени
    • 36 Насколько длинным должно быть имя?
    • 38 Использование форматирования имен для передачи их смысла
    • 40 Итог
  • 41 Глава 3. Имена, которые нельзя понять неправильно
    • 42 Пример: Filter() (фильтрация)
    • 42 Пример: Clip(text, lenght) (обрезать)
    • 43 Применяйте префиксы min и max для (включающих) границ
    • 44 Используйте в именах границ слова first и last
    • 44 Используйте имена begin и end для включающе-исключающих границ
    • 45 Называем булевы переменные
    • 45 Оправдываем ожидания пользователей
    • 47 Пример: оценка нескольких вариантов названия
    • 49 Итог
  • 51 Глава 4. Эстетичность
    • 52 Почему красота имеет значение?
    • 53 Перераспределение разрывов строк сделает код более последовательным и компактным
    • 55 Избавляемся от неоднородности с помощью методов
    • 57 Выравнивание столбцов
    • 58 Выберите определенный порядок и придерживайтесь его
    • 58 Объединяем объявления в блоки
    • 59 Разбиваем код на абзацы
    • 61 Персональный стиль или единообразие?
    • 62 Итог
  • 63 Глава 5. Комментируем мудро
    • 64 Что НЕ нужно комментировать
    • 67 Записываем ваши мысли
    • 69 Поставьте себя на место читателя
    • 74 Преодоление «творческого кризиса»
    • 75 Итог
  • 77 Глава 6. Комментарии должны быть четкими и компактными
    • 78 Старайтесь комментировать компактно
    • 78 Избегайте двусмысленных местоимений и указательных слов
    • 79 «Полируем» нечеткие предложения
    • 79 Четко описываем поведение функции
    • 80 Используйте примеры ввода/вывода, иллюстрирующие спорные ситуации
    • 81 Описывайте цели вашего кода
    • 82 Комментарии, содержащие названия параметров функций
    • 83 Употребляйте максимально содержательные слова
    • 83 Итог
  • Часть II. Упрощение цикла и логики
  • 87 Глава 7. Как сделать поток команд управления удобочитаемым
    • 88 Порядок аргументов в условных конструкциях
    • 89 Порядок блоков if/else
    • 91 Условная конструкция ?: (также известная как тернарный оператор)
    • 92 Избегайте циклов do/while
    • 94 Слишком быстрый возврат из функции
    • 94 Пресловутый goto
    • 95 Сокращаем количество вложенного кода
    • 98 Можете ли вы отследить порядок выполнения вашей программы?
    • 99 Итог
  • 101 Глава 8. Разбиваем длинные выражения
    • 102 Поясняющие переменные
    • 102 Итоговые переменные
    • 103 Используем законы де Моргана
    • 104 Злоупотребление упрощенной логикой
    • 104 Пример: боремся со сложной логикой
    • 107 Разбиваем огромные утверждения
    • 108 Еще один творческий способ упрощения выражений
    • 109 Итог
  • 111 Глава 9. Переменные и читаемость
    • 112 Избавляемся от переменных
    • 115 Сокращаем область видимости ваших переменных
    • 121 Используйте переменные, меняющие свое значение однократно
    • 122 Последний пример
    • 124 Итог
  • Часть III. Реорганизация кода
  • 127 Глава 10. Выделяем побочные подзадачи
    • 128 Вводный пример: findClosestLocation()
    • 130 Чистый вспомогательный код
    • 130 Прочий универсальный код
    • 132 Создавайте больше универсального кода
    • 133 Функциональность, специфичная для проекта
    • 134 Упрощаем существующий интерфейс
    • 135 Изменяем интерфейс под собственные нужды
    • 136 Все хорошо в меру
    • 137 Итог
  • 139 Глава 11. Одна задача в любой момент времени
    • 141 Задания могут быть маленькими
    • 142 Извлекаем значения из объекта
    • 146 Более объемный пример
    • 149 Итог
  • 151 Глава 12. Превращаем мысли в код
    • 152 Четко описываем логику
    • 153 Библиотеки нам помогут
    • 154 Применяем этот метод к более объемным задачам
    • 156 Описание решения задачи на русском языке
    • 158 Итог
  • 161 Глава 13. Пишите меньше кода
    • 162 Не беспокойтесь о реализации этой функции – она вам не понадобится
    • 162 Критикуйте и разделяйте ваши требования
    • 164 Сохраняйте базу кода небольшой
    • 165 Старайтесь изучать возможности доступных библиотек
    • 166 Пример: использование инструментов UNIX вместо написания кода
    • 167 Итог
  • Часть IV. Избранные темы
  • 171 Глава 14. Тестирование и читаемость
    • 172 Создавайте тесты, которые легко читать и обслуживать
    • 172 Что не так с этим тестом?
    • 173 Приводим тест в читаемый вид
    • 174 Создание минимального тестового выражения
    • 175 Реализуем пользовательские мини-языки
    • 182 Что было не так с тем тестом?
    • 183 Разработка, ориентированная на тестирование
    • 185 Не увлекайтесь!
    • 186 Итог
  • 187 Глава 15. Разработка и реализация счетчика минут и часов
    • 188 Постановка задачи
    • 188 Определение интерфейса класса
    • 191 Первый подход: простое решение
    • 194 Вторая попытка: реализация конвейерного дизайна
    • 197 Третья попытка: дизайн, при котором время делится на блоки
    • 202 Сравнение трех решений
    • 202 Итог

Инструкция как скачать книгу Дастин Босуэлл, Тревор Фаучер: Читаемый код, или Программирование как искусство в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Читаемый код, или Программирование как искусство
Рейтинг книги:
3 голоса
947

Поиск книг:




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

Статистика: