Купить книгу Книга Читаемый код, или Программирование как искусство. Босуэлл Д., Фаучер Т. BOOMBOOKS книга почтой в интернет магазин книг  
 
 
 
  Купить книгу Книга Читаемый код, или Программирование как искусство. Босуэлл Д., Фаучер Т. BOOMBOOKS книга почтой в интернет магазин книг
ICQ 638231463
sale@boombooks.com.ua
SiteHeart
 
 
Ваша корзина:
товаров: 5 шт.
на сумму: 689.95 грн.
 
 
 
Главная Новинки книг Акции Оплата Доставка книг RSS Контакты
 
 
 

  • Книга Траут о стратегии. Рынок ошибок не прощает. Траут
    Книга Траут о стратегии. Рынок ошибок не прощает. Траут
  • Книга Гибкое тестирование: практическое руководство для тестировщиков ПО и гибких команд. Лайза Криспин
    Книга Гибкое тестирование: практическое руководство для тестировщиков ПО и гибких команд. Лайза Криспин
  • Книга JavaServer Faces. Библиотека профессионала. 2-е изд. Дэвид М. Гери
    Книга JavaServer Faces. Библиотека профессионала. 2-е изд. Дэвид М. Гери
  • Книга Создание Web - сайтов. Самоучитель. Спека
    Книга Создание Web - сайтов. Самоучитель. Спека
  • Книга Нейропсихологическая диагностика в дошкольном возрасте. 2-е изд. Глозман
    Книга Нейропсихологическая диагностика в дошкольном возрасте. 2-е изд. Глозман
  • Книга Секреты сильного бренда: как добиться коммерческой уникальности. Дробо
    Книга Секреты сильного бренда: как добиться коммерческой уникальности. Дробо
  • Книга Тайм-менеджмент по Брайану Трейси: Как заставить время работать на вас. Трейси
    Книга Тайм-менеджмент по Брайану Трейси: Как заставить время работать на вас. Трейси
  • Книга Принципы макроэкономики: Учебник для вузов. 4-е изд. Мэнкью
    Книга Принципы макроэкономики: Учебник для вузов. 4-е изд. Мэнкью
  • Книга Практическая сборка и наладка ПК. Самоучитель. Степаненко
    Книга Практическая сборка и наладка ПК. Самоучитель. Степаненко
  • Книга Photoshop CS3 и цифровое фото. Лучшие трюки и эффекты. Бондаренко
    Книга Photoshop CS3 и цифровое фото. Лучшие трюки и эффекты. Бондаренко
  • Книга Unix. Руководство системного администратора. Для профессионалов. Немет
    Книга Unix. Руководство системного администратора. Для профессионалов. Немет
  • Книга Turbo Pascal 7.0. Теория и практика программирования. 3-е изд. Сухарев
    Книга Turbo Pascal 7.0. Теория и практика программирования. 3-е изд. Сухарев
  • Книга Лучший в мире поставщик или как наладить бизнес с крупным международным партнером. Ступин
    Книга Лучший в мире поставщик или как наладить бизнес с крупным международным партнером. Ступин
  • Книга Стерва на капитанском мостике. Преимущества и издержки власти. Кабанова
    Книга Стерва на капитанском мостике. Преимущества и издержки власти. Кабанова
  • Книга Тонкая настройка Windows XP. Холмогоров
    Книга Тонкая настройка Windows XP. Холмогоров
  • Книга CorelDRAW для студента. Федорова
    Книга CorelDRAW для студента. Федорова
  • Office самоучитель 2007. Изучаем самостоятельно. Стоцкий
    Office самоучитель 2007. Изучаем самостоятельно. Стоцкий
  • Книга Восьмой навык. От эффективности к величию. 2-е изд. Кови
    Книга Восьмой навык. От эффективности к величию. 2-е изд. Кови
  • Книга Настройка аппаратных средств в Linux. Старовойтов
    Книга Настройка аппаратных средств в Linux. Старовойтов
  • Книга Фундаментальный анализ. Якимкин
    Книга Фундаментальный анализ. Якимкин

 
     
Книги и учебники по рубрикам
 Купить книги компьютерные
   Книги CAD-ы
   Книги 3d MAX
   Книги ACCESS
   Книги Adobe
   Книги Assembler
   Книги Basic
   Книги C, C++,С#
   Книги Delphi
   Книги EXCEL
   Книги HTML,XML, Dynamic,CSS
   Книги Java
   Книги JavaScript
   Книги Linux
   Книги Maple
   Книги Maya
   Книги OFFICE
   Книги Oracle
   Книги Pascal
   Книги Perl
   Книги PHP
   Книги SQL
   Книги UML
   Книги Unix
   Книги VBA
   Книги Visual Studio
   Книги WEB дизайн
   Книги Windows 2000
   Книги Windows Server
   Книги Windows Vista
   Книги Windows XP
   Книги WORD
   Книги Алгоритмы
   Книги 1C Учет
   Книги Издательские системы
   Купить книги по информатике
   Книги по компьютерной безопасности
   Купить книги по компьютерному железу
   Книги компьютерные сети
   Книги мультимедиа
   Книги Нейронные сети
   Книги ООП
   Книги Примочки программирования
   Книги по программированию для WEB
   Книги Прочая графика
   Книги прочая разработка
   Книги прочие CAD
   Книги прочие базы данных
   Книги прочие ОС
   Книги прочие офисное ПО
   Купить книги самоучители
   Книги Цифровое фото
   Заказ книг электронная коммерция
   Книги Corel
   Книги MAC
   Книги Windows 7
   Книги Прочее для интернет
   Книги Windows 8
   Книги SEO оптимизация и продвижение
   Книги Языки программирования
 Заказ книг по психологии
   Купить книги по психоанализу
   Заказ книг по психологии
   Купить книги по психологии бизнеса
   Книги психология женский клуб
   Заказ книг психология НЛП
   Купить книги психология общая
   Книги психология популярная
   Заказ книг психология прикладная
   Книги психология прочее
   Книги психология психотерапия
   Заказ книг психология социальная
   Книги психология тест
   Книги психология тренинг
 Купить книги по бизнесу и маркетингу
   Книги банки,деньги,кредит
   Купить книги по бизнесу
   Заказ книг по бухучету
   Книги инвестиционный бизнес
   Книги коммерция и продажи
   Купить книги по маркетингу и рекламе
   Заказ книг по менеджменту
   Купить книги по праву
   Заказ книг по предпринимательству
   Купить книги по финансам
   Заказ книг по экономике
   Купить книги по экономической теории
 Купить учебники
 Книги Гуманитарные науки
 Книги для детей и родителей



 
  Купить книги компьютерные - Книги Примочки программирования
Купить книгу  Книга Читаемый код, или Программирование как искусство. Босуэлл Д., Фаучер Т.
 
 
ISBN 978-5-459-01188-3
Книга Читаемый код, или Программирование как искусство. Босуэлл Д., Фаучер Т.

117 грн.

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

2012г.

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

 

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

 

 

Оглавление книги

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

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

Share |
 
     



    Купить книги в разделе Купить книги компьютерные - Книги Примочки программирования  
 
Книга Идеальная разработка ПО. Рецепты лучших программистов. Орам
Купить Книга Идеальная разработка ПО. Рецепты лучших программистов. Орам Создатели популярной в IT-сообществе книжки "Идеальный код" снова предлагают вашему вниманию подборку лучших решений от признанных экспертов в обл. наработки ПО. Есть немало споров о том, какие же инструменты, технологии и практики умеют на самом деле оптимизировать процесс наработки ПО и улучшить конечный продукт...
Книга Объектно-ориентированное программирование на ActionScript. Холл. 2003
Купить Книга Объектно-ориентированное программирование на ActionScript. Холл. 2003 Вы держите в руках ключ к новым и чрезвычайно мощным возможностям Flash MX. Прочитав эту книгу, написанную Flash-разработчиками с мировым именем, вы откроете двери технологии, остававшиеся ранее закрытыми, и узнаете о некоторых скрытых и недокументированных возможностях Flash MX. Эта книга исчерпывающе описывает объектно-ориентированную модель ActionScript, но, не ограничиваясь этим, показывает, как применять на практике объектно-ориентированные решения, проверенные годами изучения нового подхода к программированию, такие, как, например, шаблоны проектирования приложений.
 
     


     
 
 
Главная Новинки книг Акции Оплата Доставка книг RSS Контакты
 
 
BOOMBOOKs 2009-2011 Создание сайтов & Раскрутка сайтов SKYLOGIC