Информация о книге

978-5-459-01188-3

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

Босуэлл Д., Фаучер Т., Читаемый код, или Программирование как искусство

Питер, 2012 г., 978-5-459-01188-3


Описание книги

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

Поделиться ссылкой на книгу



Содержание книги

Предисловие
О чем эта книга
Как читать эту книгу
Использование примеров кода
Как с нами связаться
Благодарности
Об авторах
От издательства
Глава 1. Код должен быть простым для понимания
Что делает код "лучше"?
Фундаментальная теорема читаемости
Меньше - значит лучше?
Противоречит ли время-для-понимания другим
целям?
Самое сложное
Часть I. Поверхностные улучшения
Глава 2. Помещаем в имена полезную информацию
Выбираем конкретные слова
Избегаем общих имен, например таких, как tmp и
retval
Используйте конкретные имена вместо
абстрактных
Добавление дополнительной информации к имени
Насколько длинным должно быть имя?
Использование форматирования имен для передачи
их смысла
Итог
Глава 3. Имена, которые нельзя понять
неправильно
Пример: Filter() (фильтрация)
Пример: Clip(text, lenght) (обрезать)
Применяйте префиксы min и max для (включающих)
границ
Используйте в именах границ слова first и last
Используйте имена begin и end для
включающе-исключающих границ
Называем булевы переменные
Оправдываем ожидания пользователей
Пример: оценка нескольких вариантов названия
Итог
Глава 4. Эстетичность
Почему красота имеет значение?
Перераспределение разрывов строк сделает код
более последовательным и компактным
Избавляемся от неоднородности с помощью
методов
Выравнивание столбцов
Выберите определенный порядок и
придерживайтесь его
Объединяем объявления в блоки
Разбиваем код на абзацы
Персональный стиль или единообразие?
Итог
Глава 5. Комментируем мудро
Что НЕ нужно комментировать
Записываем ваши мысли
Поставьте себя на место читателя
Преодоление "творческого кризиса"
Итог
Глава 6. Комментарии должны быть четкими и
компактными
Старайтесь комментировать компактно
Избегайте двусмысленных местоимений и
указательных слов
"Полируем" нечеткие предложения
Четко описываем поведение функции
Используйте примеры ввода/вывода,
иллюстрирующие спорные ситуации
Описывайте цели вашего кода
Комментарии, содержащие названия параметров
функций
Употребляйте максимально содержательные слова
Итог
Часть II. Упрощение цикла и логики
Глава 7. Как сделать поток команд управления
удобочитаемым
Порядок аргументов в условных конструкциях
Порядок блоков if/else
Условная конструкция ?: (также известная как
тернарный оператор)
Избегайте циклов do/while
Слишком быстрый возврат из функции
Пресловутый goto
Сокращаем количество вложенного кода
Можете ли вы отследить порядок выполнения
вашей программы?
Итог
Глава 8. Разбиваем длинные выражения
Поясняющие переменные
Итоговые переменные
Используем законы де Моргана
Злоупотребление упрощенной логикой
Пример: боремся со сложной логикой
Разбиваем огромные утверждения
Еще один творческий способ упрощения выражений
Итог
Глава 9. Переменные и читаемость
Избавляемся от переменных
Сокращаем область видимости ваших переменных
Используйте переменные, меняющие свое значение
однократно
Последний пример
Итог
Часть III. Реорганизация кода
Глава 10. Выделяем побочные подзадачи
Вводный пример: fndClosestLocation()
Чистый вспомогательный код
Прочий универсальный код
Создавайте больше универсального кода
Функциональность, специфичная для проекта
Упрощаем существующий интерфейс
Изменяем интерфейс под собственные нужды
Все хорошо в меру
Итог
Глава 11. Одна задача в любой момент времени
Задания могут быть маленькими
Извлекаем значения из объекта
Более объемный пример
Итог
Глава 12. Превращаем мысли в код
Четко описываем логику
Библиотеки нам помогут
Применяем этот метод к более объемным задачам
Описание решения задачи на русском языке
Итог
Глава 13. Пишите меньше кода
Не беспокойтесь о реализации этой функции - она
вам не понадобится
Критикуйте и разделяйте ваши требования
Сохраняйте базу кода небольшой
Старайтесь изучать возможности доступных
библиотек
Пример: использование инструментов UNIX вместо
написания кода
Итог
Часть IV. Избранные темы
Глава 14. Тестирование и читаемость
Создавайте тесты, которые легко читать и
обслуживать
Что не так с этим тестом?
Приводим тест в читаемый вид
Создание минимального тестового выражения
Реализуем пользовательские мини-языки
Что было не так с тем тестом?
Разработка, ориентированная на тестирование
Не увлекайтесь!
Итог
Глава 15. Разработка и реализация счетчика минут
и часов
Постановка задачи
Определение интерфейса класса
Первый подход: простое решение
Вторая попытка: реализация конвейерного дизайна
Третья попытка: дизайн, при котором время
делится на блоки
Сравнение трех решений
Итог


Об авторе


Отзывы

Дёшево и сердито.  [21 April 2013]
Издание очень информативно.
Обилие функций и переменных,примеры кодов на различных языках,развёрнутое решение задач и советы по улучшению процесса программирования.
Встречаются многие элементарные вещи,но даже о них можно усвоить что-то новое.
За такие малые деньги-лучше не найти,я считаю.
Заголовок  [18 December 2012]
Книга короткая и полезная. В несколько раз меньше «Совершенного кода» Макконнелла. Если это ваша первая книга о хорошем коде, то это её плюс. Но её можно легко сделать в 10 раз лучше:
1. выкинуть невозможно ужасные иллюстрации;
2. нанять редактора, который понимает, о чём вообще книга.
Читаемый код, или Программирование как искусство  [10 October 2012]
хорошая книга, мне было интересно узнать почему писали раньше if(NULL==i). Также полезно взять на заметку именование функций, переменных. Примеры кода на разных языках, на с++,java, javascript. В конце книги авторы решают задачу на с++ и постоянно говорят как улучшить код. Хотя многое было не интересно читать, н-р про выравнивание текста кода, ну про те вещи которые и так делаешь постоянно.
полезная книга  [18 September 2012]
Краткое введение в хороший стиль программирования, иллюстрации забавны, текст и рекомендации понятны. Если это ваша первая книга по рефакторингу, то рекомендую изучить:
1) Роберт Мартин "Чистый код. Создание, анализ и рефакторинг" http://www.ozon.ru/context/detail/id/6733562/
2) Мартин Фаулер "Рефакторинг. Улучшение существующего кода" http://www.ozon.ru/context/detail/id/1308678/
3) С. Макконнелл "Совершенный код. Мастер-класс" http://www.ozon.ru/context/detail/id/5508646/

Последние поступления в рубрике "Тематика определяется"



Коллекционное холодное оружие Западной Европы XVII - начала XIX вв. 

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

Терапевтическая катастрофа. Мастера психотерапии рассказывают о самых провальных случаях 

Ни один психотерапевт не застрахован от ошибок в работе с клиентами, но мало кто готов открыто обсуждать собственные неудачи. Авторы книги решили наглядно показать, что просчеты и промахи - это не только неотъемлемая сторона профессии, но и повод вынести для себя ценные уроки....

Любовь к человеку с пограничным расстройством личности 

Люди с пограничным расстройством личности (ПРЛ) могут быть очень заботливыми, нежными, умными и веселыми - и при этом своим поведением отталкивать даже самых близких людей. Если у вас непростые отношения с человеком, который страдает от ПРЛ, то эта книга - для вас....

Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Босуэлл Д., Фаучер Т., Читаемый код, или Программирование как искусство в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.