Стандарты программирования на C++ — Herb Sutter, Andrei Alexandrescu — обложка книги
240 страниц
C++
PDF
4.5

Стандарты программирования на C++

101 правило и рекомендация

Автор:

Год:

Краткое содержимое:

Введение

Книга «C++ Coding Standards: 101 Rules, Guidelines, and Best Practices» (в русском переводе — «Стандарты программирования на C++: 101 правило и рекомендация») вышла в 2004 году, но до сих пор остаётся одним из самых авторитетных справочников по стилю и качеству кода на C++. Авторы — Герб Саттер (Herb Sutter) и Андрей Александреску (Andrei Alexandrescu) — признанные эксперты в мире C++, чьи имена ассоциируются с глубоким пониманием языка и практическими советами. Эта книга не учит синтаксису — она учит мыслить как профессиональный разработчик C++.

О чём эта книга?

Книга представляет собой сборник из 101 правила, сгруппированных по тематическим разделам. Каждое правило сопровождается кратким обоснованием, примерами (часто с «плохим» и «хорошим» вариантами) и ссылками на более глубокие источники. Основные темы:

  • Организация кода — правильное использование заголовочных файлов, пространств имён, избегание циклических зависимостей.
  • Проектирование классов и интерфейсов — принципы SOLID, идиомы RAII, Pimpl, правило нуля/пяти.
  • Управление ресурсами и памятью — безопасное использование умных указателей, избегание утечек, работа с исключениями.
  • Шаблоны и обобщённое программирование — как писать эффективные и переносимые шаблоны.
  • Производительность — советы по оптимизации без ущерба для читаемости.
  • Безопасность исключений — гарантии basic, strong, nothrow.

Для кого эта книга?

Книга рассчитана на программистов, уже знакомых с основами C++. Новичкам она покажется сложной — авторы не объясняют базовые конструкции, а сразу переходят к нюансам. Идеальный читатель — разработчик, который хочет перейти от уровня «пишу работающий код» к уровню «пишу надёжный, эффективный и легко поддерживаемый код».

Что узнает читатель?

  • Как избежать 90% типичных ошибок при работе с памятью и исключениями.
  • Почему std::vector часто лучше std::list, даже если кажется наоборот.
  • Как правильно проектировать интерфейсы, чтобы их было трудно использовать неправильно.
  • Когда использовать виртуальные функции, а когда — шаблоны.
  • Как писать код, который не «падает» при исключениях.
  • Почему const — это не просто модификатор, а инструмент проектирования.

Сильные стороны книги

1. Практическая направленность. Каждое правило — это готовый рецепт, который можно сразу применить в проекте. Никакой абстрактной теории — только то, что реально работает.

2. Авторитет авторов. Саттер и Александреску — не просто теоретики, они активно участвовали в стандартизации C++ и разработке компиляторов. Их советы проверены годами практики.

3. Компактность. 240 страниц — это не «кирпич», который страшно открывать. Книгу можно прочитать за неделю, а потом использовать как настольный справочник.

4. Связь с другими источниками. После каждого правила есть ссылки на более подробные материалы: книги Скотта Мейерса, статьи в журнале C++ Report, стандарт языка. Это отличная отправная точка для дальнейшего изучения.

5. Язык не устарел. Несмотря на 2004 год, 90% правил актуальны и для C++17/20. Некоторые рекомендации (например, избегать std::auto_ptr) уже стали историей, но авторы предупреждают об этом.

Кому рекомендуется?

Книга обязательна к прочтению:

  • Разработчикам, работающим с C++ в продакшене — особенно в области финансов, игр, высоконагруженных систем.
  • Тимлидам и архитекторам, которые хотят установить единые стандарты кода в команде.
  • Студентам старших курсов, изучающим C++ углублённо.
  • Всем, кто переходит с C на C++ и хочет избежать «C with classes» стиля.

Если вы пишете на C++ и ещё не читали эту книгу — вы теряете время на исправление ошибок, которые уже описаны на её страницах. Это не просто сборник правил, это философия профессиональной разработки на C++.

Рекомендаций