Программирование без дураков Пассиг К.Программирование без дураков купитьПрограммирование без дураковПрограммирование без дураков Пассиг К.Программирование без дураков купить
Программирование без дураков
Программирование без дураков Пассиг К.
Программирование без дураков купить
Программирование без дураков
Программирование без дураков Пассиг К.
Программирование без дураков купить

Программирование без дураков, Катрин Пассиг, Йоханнес Яндер

459 грн.

Описание

Программирование без дураков, Пассиг К. купить Украина книга

Издательство — Питер

Язык — русский

Обложка — Мягкая обложка

Год издания — 2017

Количество страниц — 416

ISBN — 978-5-496-02023-7

Бумага — белая, офсетная

О книге Программирование без дураков, Пассиг К.

Хотите научиться программировать «less wrong»? Тогда эта книга — для вас. Ведь программирование — это во многом коммуникация. Стиль программирования, именование, комментирование, работа с чужим кодом — зачастую соглашения складываются именно там, где строгая регламентация на уровне языка программирования отсутствует. Познакомьтесь с разнообразными традициями, существующими в различных языках программирования, узнайте, как практически не спотыкаясь передвигаться по этой пересеченной местности. Со знанием дела и юмором авторы погружаются в обсуждение ложных путей, неверных суждений и ошибок, тем самым значительно облегчая жизнь любому начинающему и бывалому программисту.

Программирование без дураков, Катрин Пассиг, Йоханнес Яндер оглавление

Предисловие

Почему нужно столько времени, чтобы поумнеть?

Проблемы, характерные для плохих программистов

Топ-7 отговорок плохих программистов

Несколько лет спустя

Что же вас ждет на следующих 393 страницах

Часть I. Привет, миф! Привет, мир!Глава 1. Туда ли я попал?

Глава 2. От гордыни к смирению

Слабые стороны могут быть сильными

Истина не всегда кроется в сложном

Часть II. Программировать и пониматьГлава 3. Ты такой же, как все

Глава 4. Договоренности

Учить ли английский

Камень преткновения

Договоренности в команде

Глава 5. Присвоение имен

Правила присвоения имен

Сначала Византий, потом Константинополь, теперь Стамбул

Что должны уметь имена

8 Читать, понимать и не путать

Ясность и логика

Никаких шуток! Никакой крутости!

Материал, из которого делаются имена

Процессы, функции, методы

Переменные типа Boolean

Объектно-ориентированное пр

ограммирование

Базы данных

Что же дальше?

Глава 6. Комментарии

Меньше слов — больше дела

О структуре комментариев

Комментарии к документации

Когда и что нужно комментировать

Случаи, когда комментарий мог бы помочь

Проблемные комментарии

Глава 7. Чтение кода

Думаете, это действительно того стоит?

Сперва читайте документацию

Распечатайте исходник

Схематично изобразите для себя, для чего предназначены

некоторые компоненты программы

Сверху вниз, от простого к сложному

Учитесь искусству следопыта

Соотношение 80/20 оптимально (в большинстве случаев)

Помните о форматах данных

Истина в самой программе

Коллективное чтение кода

Глава 8. Где искать помощь

Подходящий момент

Спрашивайте в подходящем месте

Структурируйте запрос правильно

9Думайте о читателе

Не ожидайте слишком многого

Не приводите абстрактных примеров

Оставайтесь вежливы несмотря ни на что

Глава 9. Право на оказание помощи

Неправильная причина

Корыстные мотивы

Отсутствие эмпатии

Слишком много информации сразу

Отвечайте на конкретные вопросы

Если вы сами не знаете ответа

Если ваши коллеги худшие программисты, чем вы

Плохой код? Сохраняйте спокойствие

Глава 10. Как выжить в команде

Это не я!

Фактор автобуса

Сотрудничество с заказчиками

Работа с добровольцами

Часть III. Работа над ошибкамиГлава 11. Искусство ошибаться для начинающих

В гостях у заблуждения: чувствуйте себя как дома

Изучение ошибок в повседневности

Базу данных съела собака!

Шлем с мягкой подкладкой

Глава 12. Отладка I: поиск ошибок как наука

Систематический поиск ошибок

Наблюдение

Что усложняет наблюдение

10 Анализ и построение гипотез

Что усложняет построение гипотез

Проверка гипотез

Что усложняет проверку гипотез

Глава 13. Отладка II: найди ошибку

Сообщения об ошибках — наши друзья

Кому тут что-то от меня нужно?

Инструменты и стратегии диагностики

Привычные подозреваемые

Валидаторы, Lint-программы, анализ кода

Отладка с помощью команды print

Ведение журналов

Отладчики

Отладка в декларативных языках программирования

Если больше ничего не помогает

Если и это не помогает

После поиска ошибок о поиске ошибок

Наиболее распространенные причины ошибок плохих

программистов

Глава 14. Недобрые предзнаменования,

или Коричневые M&M’s

Слишком большие файлы

Очень длинные функции

Слишком широкие функции

Многоуровневые функции if/then

Всплывающие посреди кода числа

Сложные арифметические выражения в коде

Глобальные переменные

Ремонтный код

Собственная имплементация функций

Особые случаи

Неунифицированное написание

11Функции более чем с пятью параметрами

Дублирование кода

Сомнительные названия файлов

Лабиринт чтения

Бесполезные комментарии

Очень большое количество базовых классов или интерфейсов

Очень большое количество переменных или свойств объекта

Блоки кода и функции, помещенные в комментарии

Использование определенного браузера

Подозрительные звуки клавиатуры

Глава 15. Рефакторинг

Писать ли заново?

Когда нужен рефакторинг

Все по порядку

Распределите код по нескольким файлам

Разбейте программный модуль на более мелкие модули

Устраняйте побочные эффекты

Объединяйте код

Понятнее оформляйте условия

Правильный цикл для правильной цели

Оформляйте циклы понятнее

Посмотрите критически на переменные

Рефакторинг баз данных

Что можно сделать еще

Стало ли теперь действительно лучше?

Когда от рефакторинга лучше отказаться

Проблема и ее решение

Глава 16. Тестирование

Для чего нужно тестирование

Способы тестирования

Системное тестирование

12 Модульное тестирование

Валидация данных

Тестирование производительности

Правильно тестировать

Глава 17. Предупреждающие знаки

GET- и POST-запросы

Кодирование знаков

Указание времени и даты

Сохранение десятичных дробей в виде строковых,

целочисленных и десятичных переменных

Передача переменных в виде значений или ссылки

Тяжелая работа с ничем

Рекурсия

Юзабилити

Глава 18. Компромиссы

Обманчивые достоинства

Уверенность в завтрашнем дне

Скорость

Совершенство, красота, элегантность

Абсолютизация: когда допустимы порочные практики

Часть IV. Выбор средствГлава 19. Не делай сам

Что делать

Библиотеки

Обращение с чужим кодом

Чего не нужно делать самостоятельно

Чего ни в коем случае не следует делать самостоятельно

Три решения одной проблемы

13Глава 20. Инструментарий

Редакторы

Какой язык программирования правильный?

REPL

Diff и patch

Менеджер пакетов

Фреймворки

Выбор фреймворка

Предупредительные знаки при работе с фреймворками

Среды разработки

Управление проектами

Проверка кода

Автодополнение кода

Помощь в организации труда

Поиск и рефакторинг

Недостатки

Глава 21. Система контроля версий

Альтернативы

Работа в VCS

Разрешение конфликтов

Какую систему контроля версий выбрать?

Subversion

Git

Полезные идеи при работе с системой контроля версий

Неудачные идеи при работе с системой контроля версий

Система контроля версий — элемент ПО

Глава 22. Command and Conquer: из жизни командной строки

Повышение эффективности с помощью автоматизации

Наши длиннобородые предки

Windows

Что следует знать каждому программисту

14 Параметры

Аргументы

Что делать с результатами?

Сопряжение результатов

Символы-джокеры

Навигация

Файлы

Просмотр

Искать и найти

Сбережение ресурсов

Совместная работа

Синхронизация

Редактирование с сервера

Интернет

Стоит ли помнить обо всем этом?

Еще не всё!

Глава 23. Объектно-ориентированное программирование

Преимущества объектно-ориентированного программирования

Принципы объектно-ориентированного программирования

Модульность и инкапсуляция

Абстракция данных

Полиморфизм

Наследование

Разумное использование ООП

Недостатки и проблемы

Различные модели объекта в зависимости от языка

Объектно-ориентированное программирование и планы

по захвату мира

Глава 24. Хранение данных

Файлы

CSV/TSV

XML

15JSON

YAML

Системы управления версиями

Базы данных

Искать и найти

Реляционные базы данных

Базы данных NoSQL

Документоориентированные базы данных,

такие как CouchDB или MongoDB

Графовые базы данных, такие как Neo4j

Глава 25. Безопасность

Важные концепции

Преимущества и недостатки открытости

Работа с паролями

Методы аутентификации

Внедрение SQL-кода и XSS — угрозы в пользовательском контенте

Белые списки лучше черных

Установите все ползунки на минимум

Черный ход тоже запирайте

Тестирование на проникновение

Ошибки других

Безопасность — это процесс

Глава 26. Полезные концепции

Исключения

Обработка ошибок

Состояние и отсутствие сохранения состояния

ID, GUID, UUID

Языковые семьи

Типы переменных

Разделение содержания и представления

Разделение на сервер разработки и «продакшн»-сервер

Селекторы

16 Пространства имен

Область видимости переменных

Утверждения

Транзакции и откаты

Хеш-коды, дайджесты, цифровые отпечатки

CRUD и REST

Глава 27. Что дальше?

Кто такой хороший программист

Что еще можно почитать

Благодарности

Указатель

Также вы можете оставить вопрос или отзыв о книге: Программирование без дураков, Пассиг К.

Отзывы

Отзывов пока нет.

Будьте первым, кто оставил отзыв на “Программирование без дураков, Катрин Пассиг, Йоханнес Яндер”

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