Библиотека knigago >> Компьютеры: Языки и системы программирования >> C, C++, C# >> Красивый C++


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1330, книга: Том 6
автор: Герберт Джордж Уэллс

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

Дж. Гай Дэвидсон , Кейт Грегори - Красивый C++

30 главных правил чистого, безопасного и быстрого кода Красивый C++
Книга - Красивый C++.  Дж. Гай Дэвидсон , Кейт Грегори  - прочитать полностью в библиотеке КнигаГо
Название:
Красивый C++
Дж. Гай Дэвидсон , Кейт Грегори

Жанр:

C, C++, C#

Изадано в серии:

Для профессионалов

Издательство:

Питер

Год издания:

ISBN:

9785446122721

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Красивый C++"

Написание качественного кода на C++ не должно быть трудной задачей. Если разработчик будет следовать рекомендациям, приведенным в C++ Core Guidelines, то он будет писать исключительно надежные, эффективные и прекрасно работающие программы на C++. Но руководство настолько переполнено советами, что порой трудно понять, с чего начать. Начните с «Красивого C++»! Опытные программисты Гай Дэвидсон и Кейт Грегори выбрали 30 основных рекомендаций, которые посчитали особенно ценными, и дают подробные практические советы, которые помогут улучшить ваш стиль разработки на C++. Для удобства книга структурирована в точном соответствии с официальным веб-сайтом C++ Core Guidelines. 16+

Читаем онлайн "Красивый C++". [Страница - 72]


использование макроса assert для обнаружения экземпляров ошибок второго типа, описанных в предыдущем разделе. С его помощью программист
задает ожидаемое состояние абстрактной машины в определенный момент,
а макрос проверяет фактическое состояние и останавливает программу, если
фактическое состояние окажется отличным от заданного. Ошибки этого
вида отличаются от ошибок нарушения состояния абстрактной машины:
они считаются ошибками программиста.
В развитие этой идеи рассматривалось еще одно предложение, которое чуть
не вошло в C++20. Фактически дело дошло до стадии рабочего проекта, но
в последнюю минуту продвижение было остановлено. Мы говорим о контрактах. Они определяют предварительные и заключительные условия на
уровне языка, а не на уровне библиотечного макроса. Тем самым программист получает возможность снабжать определение функции атрибутами,
определяющими также и ожидания.
К сожалению, на момент написания этих строк такое множество разно­
образных обновлений языка и библиотеки еще не было включено в рабочий
1

www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0709r4.pdf

214  Часть III. Прекратите это использовать

проект стандарта C++. В сообществе пользователей C++ многое остается
неизменным на протяжении долгих лет. Программисты все еще используют
старые стратегии обработки ошибок в стиле C из-за отсутствия лучшего
варианта.
Будущее выглядит светлым, но оно еще не наступило.

ПОДВЕДЕМ ИТОГ
zz

Глобальное состояние не годится для обработки ошибок. Сохраняйте
состояние ошибки локально и всегда обращайте на него внимание.

zz

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

zz

Различайте типы ошибок: неверный ввод, неверная логика, неверное
окружение и т. д.

zz

Если обработка исключений вам недоступна, подумайте о возможности использования Boost.Outcome, но не забывайте мониторить
предстоящие изменения в стандарте. Core Guidelines не охватывает
этот подход, потому что он выходит за рамки стандарта.

ГЛАВА 3.6

SF.7. Не используйте using
namespace в глобальной
области видимости
в заголовочном файле

НЕ ДЕЛАЙТЕ ЭТОГО
Пожалуйста, не делайте этого. Никогда.
Никогда. Ни за что. Ни разу.
Пожалуйста.
В Core Guidelines приводится следующий пример:
// bad.h
#include
using namespace std; // плохо --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.

Книги схожие с «Красивый C++» по жанру, серии, автору или названию:

C++ для профи. Джош Лоспинозо
- C++ для профи

Жанр: C, C++, C#

Год издания: 2021

Серия: Для профессионалов

Другие книги из серии «Для профессионалов»:

C++ для профи. Джош Лоспинозо
- C++ для профи

Жанр: C, C++, C#

Год издания: 2021

Серия: Для профессионалов

Секреты Python Pro. Дейн Хиллард
- Секреты Python Pro

Жанр: Python

Год издания: 2021

Серия: Для профессионалов

JavaScript для профессиональных веб-разработчиков. Мэтт Фрисби
- JavaScript для профессиональных веб-разработчиков

Жанр: Java, Java Script

Год издания: 2022

Серия: Для профессионалов