совершенный код мастер класс макконнелл стив pdf

Совершенный код, Мастер-класс, Макконнелл С., 2010

Совершенный код, Мастер-класс, Макконнелл С., 2010.

Более 10 лет первое издание этой книги считалось одним из лучших практических руководств по программированию. Сейчас эта книга полностью обновлена с учетом современных тенденций и технологий и дополнена сотнями новых примеров, иллюстрирующих искусство и науку программирования. Опираясь на академические исследования, с одной стороны, и практический опыт коммерческих разработок ПО — с другой, автор синтезировал из самых эффективных методик и наиболее эффективных принципов ясное прагматичное руководство. Каков бы ни был ваш профессиональный уровень, с какими бы средствами разработками вы ни работали, какова бы ни была сложность вашего проекта, в этой книге вы найдете нужную информацию, она заставит вас размышлять и поможет создать совершенный код.

совершенный код мастер класс макконнелл стив pdf

Почему конструирование ПО так важно?
Раз уж вы читаете эту книгу; вы наверняка понимаете важность улучшения качества ПО и повышения производительности труда разработчиков. Многие из самых удивительных современных проектов основаны на применении ПО: Интернет и спецэффекты в кинематографе, медицинские системы жизнеобеспечения и космические программы, высокопроизводительный анализ финансовых данных и научные исследования. Эти, а также более традиционные проекты имеют много общего, поэтому применение улучшенных методов программирования окупится во всех случаях.

Признавая важность улучшения разработки ПО в целом, вы можете спросить: «Почему именно конструированию в этой книге уделяется такое внимание?».
Ответы на этот вопрос приведены ниже.
Конструирование — крупная часть процесса разработки ПО В зависимости от размера проекта на конструирование обычно уходит 30-80 % общего времени работы.
Все, что занимает так много времени работы над проектом, неизбежно влияет на его успешность.

Конструирование занимает центральное место в процессе разработки ПО Требования к приложению и его архитектура разрабатываются до этапа конструирования, чтобы гарантировать его эффективность. Тестирование системы (в строгом смысле независимого тестирования) выполняется после конструирования и служит для проверки его правильности. Конструирование — центр процесса разработки ПО.

Содержание.
Предисловие.
Благодарности.
Контрольные списки.
Часть I Основы разработки ПО.
1 Добро пожаловать в мир конструирования ПО.
2 Метафоры, позволяющие лучше понять разработку ПО.
3 Семь раз отмерь, один раз отрежь: предварительные условия.
4 Основные решения, которые приходится принимать при конструировании.
Часть II Высококачественный код.
5 Проектирование при конструировании.
6 Классы.
7 Высококачественные методы.
8 Защитное программирование.
9 Процесс программирования с псевдокодом.
Часть III Переменные.
10 Общие принципы использования переменных.
11 Сила имен переменных.
12 Основные типы данных.
13 Нестандартные типы данных.
Часть IV Операторы.
14 Организация последовательного кода.
15 Условные операторы.
16 Циклы.
17 Нестандартные управляющие структуры.
18 Табличные методы.
19 Общие вопросы управления.
Часть V Усовершенствование кода.
20 Качество ПО.
21 Совместное конструирование.
22 Тестирование, выполняемое разработчиками.
23 Отладка.
24 Рефакторинг.
25 Стратегии оптимизации кода.
26 Методики оптимизации кода.
Часть VI Системные вопросы.
27 Как размер программы влияет на конструирование.
28 Управление конструированием.
29 Интеграция.
30 Инструменты программирования.
Часть VII Мастерство программирования.
31 Форматирование и стиль.
32 Самодокументирующийся код.
33 Личность.
34 Основы мастерства.
35 Где искать дополнительную информацию.
Библиография.
Предметный указатель.
Об авторе.

Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России. Купить эту книгу

Источник

Совершенный код. Практическое руководство по разработке программного обеспечения

Скачать книгу (полная версия)

О книге «Совершенный код. Практическое руководство по разработке программного обеспечения»

Книгу Стива Макконнелла «Совершенный код» стоит прочитать каждому программисту, который хочет развиваться и совершенствовать свои навыки. Автор очень подробно пишет обо всем, что касается программирования. Он рассказывает об этой теме в общем и целом, не привязывая информацию из книги к какому-то конкретному языку программирования.

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

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

На нашем сайте вы можете скачать книгу «Совершенный код. Практическое руководство по разработке программного обеспечения» Макконнелл Стив бесплатно и без регистрации в формате djvu, читать книгу онлайн или купить книгу в интернет-магазине.

Источник

Совершенный код. Мастер-класс (2016)

совершенный код мастер класс макконнелл стив pdf

Название книги: Совершенный код. Мастер-класс
Год: 2016
Автор: Стив Макконнелл
Страниц: 952
Язык: русский, английсикй
Формат: pdf, fb2, epub, rtf
Размер: 7.8 MB, 2 MB, 2 MB, 9 MB

Описание книги «Совершенный код. Мастер-класс»:

Моей главной целью при написании этой книги было сокращение разрыва между знаниями гуру и лучших специалистов отрасли, с одной стороны, и общепринятыми методиками разработки коммерческого ПО — с другой. Многие эффективные методики программирования годами скрываются в журналах и научных работах, прежде чем становятся доступными программистской общественности.

Хотя передовые методики разработки ПО в последние годы быстро развивались, общепринятые практически стояли на месте. Многие программы все еще полны ошибок, поставляются с опозданием и не укладываются в бюджет, а многие не отвечают требованиям пользователей. Ученые обнаружили эффективные методики, устраняющие большинство проблем, которые отравляют нашу жизнь с 1970х годов. Однако из-за того, что эти методики редко покидают страницы узкоспециализированных технических изданий, в большинстве компаний по разработке ПО они еще не используются. Установлено, что для широкого распространения исследовательских разработок обычно требуется от 5 до 15 и более лет (Raghavan and Chand, 1989; Rogers, 1995; Parnas, 1999). Данная книга призвана ускорить этот процесс и сделать важные открытия доступными средним программистам.

Кому следует прочитать эту книгу?

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

Часть I. Основы разработки ПО
1. Добро пожаловать в мир конструирования ПО!
2. Метафоры, позволяющие лучше понять разработку ПО
3. Семь раз отмерь, один раз отрежь: предварительные условия
4. Основные решения конструирования

Часть II. Высококачественный код
5. Проектирование при конструировании
6. Классы
7. Высококачественные методы
8. Защитное программирование
9. Процесс программирования с псевдокодом

Часть III. Переменные
10. Общие принципы использования переменных
11. Сила имен переменных
12. Основные типы данных
13. Нестандартные типы данных

Часть IV. Операторы
14. Организация последовательного кода
15. Условные операторы
16. Циклы
17. Нестандартные управляющие структуры
18. Табличные методы
19. Общие вопросы управления

Часть V. Усовершенствование кода
20. Качество ПО
21. Совместное конструирование
22. Тестирование, выполняемое разработчиками
23. Отладка
24. Рефакторинг
25. Стратегии оптимизации кода
26. Методики оптимизации кода

Часть VI. Мастерство программирования
27. Как размер программы влияет на конструирование
28. Управление конструированием
29. Интеграция
30. Инструменты программирования

Part VII. Мастерство программирования
31. Форматирование и стиль
32. Самодокументирующийся код
33. Личность
34. Основы мастерства
35. Где искать дополнительную информацию

Источник

Совершенный код. Практическое руководство по разработке программного обеспечения

совершенный код мастер класс макконнелл стив pdf

Эта и ещё 2 книги за 299 ₽

Более 10 лет первое издание этой книги считалось одним из лучших практических руководств по программированию. Сейчас эта книга полностью обновлена с учетом современных тенденций и технологий и дополнена сотнями новых примеров, иллюстрирующих искусство и науку программирования. Опираясь на академические исследования, с одной стороны, и практический опыт коммерческих разработок ПО – с другой, автор синтезировал из самых эффективных методик и наиболее эффективных принципов ясное прагматичное руководство. Каков бы ни был ваш профессиональный уровень, с какими бы средствами разработками вы ни работали, какова бы ни была сложность вашего проекта, в этой книге вы найдете нужную информацию, она заставит вас размышлять и поможет создать совершенный код.

Книга состоит из 35 глав, предметного указателя и библиографии.

Отзывы 6

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

Основная тема – управление сложностью – современные программные проекты становятся все больше и больше, голова человека просто не в состоянии удержать такой объем информации. Поэтому подавляющая часть времени разработчиков уходит на отладку уже существующего кода и попытки изменять его таким образом, чтобы не поломать все остальное. Многие проекты погибают от собственной сложности – изменять их становится настолько сложно, что проще переписать все с нуля.

Макконел на всех уровнях рассматривает методики написания надежного и расширяемого кода, который легко менять добавляя новые возможности и в котором легко исправлять ошибки – наглядно выражая это в принципе «код надо писать так, чтобы его было легко читать и понимать, даже если такой код писать дольше и сложнее». Начиная с проектирования архитектуры автор через классы спускается до отдельных методов, кусков кода вроде циклов и условных операторов, методик отладки и правильной оптимизации производительности. Примеры демонстративно идут вперемешку на C++, Java и Visual Basic

Книга где автор может 50 страниц детально описывать правильные методики комментирования кода и сообщать массу полезной информации.

Источник

Совершенный код

совершенный код мастер класс макконнелл стив pdf

Руководство для программиста.

Стив Макконнелл «Совершенный код» Питер, 2010 год, 896 стр., 2-е издание (6,12 мб. pdf)

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

Книга «Совершенный код» полезна и для опытных программистов, для них она станет справочным и удобным руководством при разработке ПО. Так как эта книга акцентируется на создании — самой доступной части рабочего цикла ПО, — предложенные в ней методики понятны, как разработчикам, получившим профессиональное образование, так и программистам-самоучкам.

Нужную информацию в книге для себя найдет кодер любого уровня, какая бы ни была степень сложности разрабатываемого вами проекта. Не просто создать совершенный код, но стремление к вершинам мастерства заставляет настоящих профессионалов постоянно совершенствоваться. Читая книгу и применяя на практике рекомендации и методики автора вы сможете достичь изящества, простоты и элегантности при создании кода для программного обеспечения, а это в свою очередь позволит приблизиться к совершенству в профессии программиста.
ISBN 978-5-7502-0064-1

1 Добро пожаловать в мир конструирования ПО 2
1.1. Что такое конструирование ПО 2
1.2. Почему конструирование ПО так важно 5
1.3. Как читать эту книгу 6
2 Метафоры, позволяющие лучше понять разработку ПО 8
2.1. Важность метафор 8
2.2. Как использовать метафоры 10
2.3. Популярные метафоры, характеризующие разработку ПО 12

3 Семь раз отмерь, один раз отрежь: предварительные условия 21
3.1. Важность выполнения предварительных условий 22
3.2. Определите тип ПО, над которым вы работаете 28
3.3. Предварительные условия, связанные с определением проблемы 34
3.4. Предварительные условия, связанные с выработкой требований 36
3.5. Предварительные условия, связанные с разработкой архитектуры 41
3.6. Сколько времени следует посвятить выполнению предварительных условий 52

4 Основные решения, которые приходится принимать при конструировании 58
4.1. Выбор языка программирования 59
4.2. Конвенции программирования 63
4.3. Волны развития технологий 64
4.4. Выбор основных методик конструирования 66

Часть II Высококачественный код

5 Проектирование при конструировании 70
5.1. Проблемы, связанные с проектированием ПО 71
5.2. Основные концепции проектирования 74
5.3. Компоненты проектирования: эвристические принципы 84
5.4. Методики проектирования 107
5.5. Комментарии по поводу популярных методологий 115

6 Классы 121
6.1. Основы классов: абстрактные типы данных 122
6.2. Качественные интерфейсы классов 129
6.3. Вопросы проектирования и реализации 139
6.4. Разумные причины создания классов 148
6.5. Аспекты, специфические для языков 152
6.6. Следующий уровень: пакеты классов 153

7 Высококачественные методы 157
7.1. Разумные причины создания методов 160
7.2. Проектирование на уровне методов 163
7.3. Удачные имена методов 167
7.4. Насколько объемным может быть метод 169
7.5. Советы по использованию параметров методов 170
7.6. Отдельные соображения по использованию функций 177
7.7. Методы-макросы и встраиваемые методы 178

8 Защитное программирование 182
8.1. Защита программы от неправильных входных данных 183
8.2. Утверждения 184
8.3. Способы обработки ошибок 189
8.4. Исключения 193
8.5. Изоляция повреждений, вызванных ошибками 198
8.6. Отладочные средства 200
8.7. Доля защитного программирования в промышленной версии 204
8.8. Защита от защитного программирования 206

9 Процесс программирования с псевдокодом 209
9.1. Этапы создания классов и методов 210
9.2. Псевдокод для профи 211
9.3. Конструирование методов с использованием ППП 214
9.4. Альтернативы ППП 225

Часть III Переменные

10 Общие принципы использования переменных 230
10.1. Что вы знаете о данных? 231
10.2. Грамотное объявление переменных 232
10.3. Принципы инициализации переменных 233
10.4. Область видимости 238
10.5. Персистентность 245
10.6. Время связывания 246
10.7. Связь между типами данных и управляющими структурами 247
10.8. Единственность цели каждой переменной 249

11 Сила имен переменных 252
11.1. Общие принципы выбора имен переменных 253
11.2. Именование конкретных типов данных 257
11.3. Сила конвенций именования 263
11.4. Неформальные конвенции именования 264
11.5. Стандартизованные префиксы 272
11.6. Грамотное сокращение имен переменных 274
11.7. Имена, которых следует избегать 277

12 Основные типы данных 282
12.1. Числа в общем 283
12.2. Целые числа 284
12.3. Числа с плавающей запятой 286
12.4. Символы и строки 289
12.5. Логические переменные 292
12.6. Перечислимые типы 294
12.7. Именованные константы 299
12.8. Массивы 301
12.9. Создание собственных типов данных (псевдонимы) 303

13 Нестандартные типы данных 310
13.1. Структуры 310
13.2. Указатели 314
13.3. Глобальные данные 326

Часть IV Операторы

14 Организация последовательного кода 338
14.1. Операторы, следующие в определенном порядке 338
14.2. Операторы, следующие в произвольном порядке 342
15 Условные операторы 346
15.1. Операторы if 346
15.2. Операторы case 353

16 Циклы 359
16.1. Выбор типа цикла 359
16.2. Управление циклом 365
16.3. Простое создание цикла — изнутри наружу 378
16.4. Соответствие между циклами и массивами 379

17 Нестандартные управляющие структуры 382
17.1. Множественные возвраты из метода 382
17.2. Рекурсия 385
17.3. Оператор goto 389
17.4. Перспективы нестандартных управляющих структур 401

18 Табличные методы 404
18.1. Основные вопросы применения табличных методов 405
18.2. Таблицы с прямым доступом 406
18.3. Таблицы с индексированным доступом 418
18.4. Таблицы со ступенчатым доступом 419
18.5. Другие примеры табличного поиска 422

19 Общие вопросы управления 424
19.1. Логические выражения 424
19.2. Составные операторы (блоки) 436
19.3. Пустые выражения 437
19.4. Укрощение опасно глубокой вложенности 438
19.5. Основа программирования: структурное программирование 448
19.6. Управляющие структуры и сложность 450

Часть V Усовершенствование кода

20 Качество ПО 456
20.1. Характеристики качества ПО 456
20.2. Методики повышения качества ПО 459
20.3. Относительная эффективность
методик контроля качества ПО 462
20.4. Когда выполнять контроль качества ПО 466
20.5. Главный Закон Контроля Качества ПО 467
21 Совместное конструирование 471
21.1. Обзор методик совместной разработки ПО 472
21.2. Парное программирование 475
21.3. Формальные инспекции 477
21.4. Другие методики совместной разработки ПО 484
21.5. Сравнение методик совместного конструирования 487

22 Тестирование, выполняемое разработчиками 490
22.1. Тестирование, выполняемое разработчиками, и качество ПО 492
22.2. Рекомендуемый подход к тестированию, выполняемому разработчиками 494
22.3. Приемы тестирования 496
22.4. Типичные ошибки 507
22.5. Инструменты тестирования 513
22.6. Оптимизация процесса тестирования 518
22.7. Протоколы тестирования 520

23 Отладка 524
23.1. Общие вопросы отладки 524
23.2. Поиск дефекта 529
23.3. Устранение дефекта 539
23.4. Психологические аспекты отладки 543
23.5. Инструменты отладки — очевидные и не очень 545

24 Рефакторинг 551
24.1. Виды эволюции ПО 552
24.2. Введение в рефакторинг 553
24.3. Отдельные виды рефакторинга 559
24.4. Безопасный рефакторинг 566
24.5. Стратегии рефакторинга 568

25 Стратегии оптимизации кода 572
25.1. Общее обсуждение производительности ПО 573
25.2. Введение в оптимизацию кода 576
25.3. Где искать жир и патоку? 583
25.4. Оценка производительности 588
25.5. Итерация 590
25.6. Подход к оптимизации кода: резюме 591

26 Методики оптимизации кода 595
26.1. Логика 596
26.2. Циклы 602
26.3. Изменения типов данных 611
26.4. Выражения 616
26.5. Методы 625
26.6. Переписывание кода на низкоуровневом языке 626
26.7. Если что-то одно изменяется, что#то другое всегда остается постоянным 629

Часть VI Системные вопросы

27 Как размер программы влияет на конструирование 634
27.1. Взаимодействие и размер 635
27.2. Диапазон размеров проектов 636
27.3. Влияние размера проекта на возникновение ошибок 636
27.4. Влияние размера проекта на производительность 638
27.5. Влияние размера проекта на процесс разработки 639

28 Управление конструированием 645
28.1. Поощрение хорошего кодирования 646
28.2. Управление конфигурацией 649
28.3. Оценка графика конструирования 655
28.4. Измерения 661
28.5. Гуманное отношение к программистам 664
28.6. Управление менеджером 670

29 Интеграция 673
29.1. Важность выбора подхода к интеграции 673
29.2. Частота интеграции — поэтапная или инкрементная 675
29.3. Стратегии инкрементной интеграции 678
29.4. Ежедневная сборка и дымовые тесты 686

30 Инструменты программирования 694
30.1. Инструменты для проектирования 695
30.2. Инструменты для работы с исходным кодом 695
30.3. Инструменты для работы с исполняемым кодом 700
30.4. Инструменты и среды 704
30.5. Создание собственного программного инструментария 705
30.6. Волшебная страна инструментальных средств 707

Часть VII Мастерство программирования

31 Форматирование и стиль 712
31.1. Основные принципы форматирования 713
31.2. Способы форматирования 720
31.3. Стили форматирования 721

31.4. Форматирование управляющих структур 728
31.5. Форматирование отдельных операторов 736
31.6. Размещение комментариев 747
31.7. Размещение методов 750
31.8. Форматирование классов 752

32 Самодокументирующийся код 760
32.1. Внешняя документация 760
32.2. Стиль программирования как вид документации 761
32.3. Комментировать или не комментировать 764
32.4. Советы по эффективному комментированию 768
32.5. Методики комментирования 774
32.6. Стандарты IEEE 795

33 Личность 800
33.1. Причем тут характер 801
33.2. Интеллект и скромность 802
33.3. Любопытство 803
33.4. Профессиональная честность 806
33.5. Общение и сотрудничество 809
33.6. Творчество и дисциплина 809
33.7. Лень 810
33.8. Свойства, которые менее важны, чем кажется 811
33.9. Привычки 813

34 Основы мастерства 817
34.1. Боритесь со сложностью 817
34.2. Анализируйте процесс разработки 819
34.3. Пишите программы в первую очередь для людей и лишь во вторую —
для компьютеров 821
34.4. Программируйте с использованием языка, а не на языке 823
34.5. Концентрируйте внимание с помощью соглашений 824
34.6. Программируйте в терминах проблемной области 825
34.7. Опасайтесь падающих камней 827
34.8. Итерируйте, итерируйте и итерируйте 830
34.9. И да отделена будет религия от разработки ПО 831

35 Где искать дополнительную информацию 834
35.1. Информация о конструировании ПО 835
35.2. Не связанные с конструированием темы 836
35.3. Периодические издания 838
35.4. Список литературы для разработчика ПО 839
35.5. Профессиональные ассоциации 841
Библиография 842
Предметный указатель 863
Об авторе 868

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *