Chabste
андарты
np • • - мм • • с ания н - ++
101 правило и рекомендация
Герб Саттер
Андрей Александреску
'f :
?:>■■-' #; -'*-> - . О- •
■ i. ■ ■ / : '*■ stir' ' rf '■' -
. ■ ^'Л-г-' »:, #■■ '»:: - . ■ ,•'. ,; 1%P;^ -•'•■*» f>
#lr - . — ■
'/. ('
Серия C++ In-Depth ♦ Бьярн Cmpaycmpyn
С++/Языки программирования
Стандарты программирования на C++
Герб Саттер и Андрей Александреску
Согласованные, высококачественные стандарты программирования повышают качество
программного обеспечения, сокращают время его разработки, способствуют командной работе,
снижают затраты времени на решение несущественных вопросов и облегчают сопровождение
программ. Два эксперта мирового уровня в программировании на C++, творчески переработав
опыт всего программистского сообщества, сумели собрать лучшее в этой книге, которую любой
программист или команда могут использовать в качестве основы для разработки собственных
стандартов кодирования. Авторы не обошли вниманием ни один из разделов C++: проектирование и стиль кодирования,
функции, операторы, дизайн классов, наследование, конструкторы и деструкторы, копирование,
присваивание, пространства имен, модули, шаблоны, обобщенность, исключения, контейнеры и
алгоритмы STL, а также многое другое.
Каждая рекомендация сопровождается кратким
описанием и примерами из практики. От определения типа до обработки исключений — в этой
книге собран лучший опыт, последние достижения и наработки, о которых вы могли просто еще не
знать, даже если уже давно используете C++. В книге вы найдете ответы на массу различных
вопросов, в том числе:
• Что следует стандартизировать, а что нет?
• Каким образом обеспечить масштабируемость кода?
• Какие элементы входят в разумную стратегию обработки ошибок?
• Как (и почему) следует избегать излишних зависимостей?
• Когда и как следует совместно использовать статический и динамический полиморфизм?
• Как обеспечить "безопасное" перекрытие функций?
• Когда следует обеспечивать бессбойный обмен объектов?
• Почему и как следует предотвращать пересечение исключениями границ модулей?
• Почему вместо массивов следует использовать vector и string?
• Как выбрать верный алгоритм STL для поиска или сортировки?
• Каким правилам надо следовать для написания кода, безопасного в смысле использования
типов? Работаете ли вы в одиночку или в группе — эта книга поможет вам писать более ясный код, причем
делать это более быстро и качественно. Герб Саттер в первую очередь известен как автор бестселлера Решение сложных задач на C++, а также автор
сотен статей, посвященных различным аспектам разработки программного обеспечения. Герб возглавляет
комитет ISO по стандартизации языка, ведет раздел и регулярно печатается в журнале C/C++ Users Journal
Он работает в Microsoft над архитектурой Visual C++, отвечая за проектирование расширений C++ для
программирования в . NET. Андрей Александреску — автор знаменитой книги Современное проектирование на C++; он ведет раздел и
регулярно печатается в журнале C/C++ Users Journal.