Готовый перевод Google C++ Style Guide / Google C++ Style Guide: Background
Введение
C++ является основным языком программирования для многих открытых проектов Google. Любой программист знает, что язык С++ содержит множество мощных особенностей, но эта мощь сопутствует сложности, которая может превратить код в нечто, полное багов и трудное в чтении и поддержке.
Цель этого документа - справиться с той сложностью, показав, как нужно и как не нужно писать на C++. Эти правила помогут сохранять код понятным, все еще позволяя при этом продуктивно использовать особенности языка.
Стиль, или читаемость, - это соглашения, во многом определяющие C++ код. Хотя в данном контексте термин "стиль" несколько неправилен, так как эти соглашения касаются не только форматирования текстов программ.
Один из способов обеспечения поддерживаемости кода является согласованность. Очень важно, чтобы любой программист мог посмотреть на код и сразу же понять его. Сохранение единого стиля и следование конвенции означает, что мы можем легче использовать, так сказать, сопоставление с образцом для определения, какие символы используются в коде и какие инварианты истинны. Создание общих, обязательных идиом и шаблонов делает код более легким для понимания. В некоторых случаях могут возникать веские аргументы для изменения стиля, но мы, тем не менее, сохраняем все как есть для обеспечения согласованности.
Другой проблемой, является тот факт, что C++ функционально раздутый. C++ является языком с огромным количеством дополнительных функций. В некоторых случаях мы ограничиваем или даже запрещаем использование определенных функций. Мы делаем это, чтобы сохранить код простым и чтобы избежать различных общих ошибок и проблем, которые могут быть вызваны данными особенностями. Данное руководство перечисляет эти функции и объясняет, почему их использование ограничено.
Open-source проекты Google соответствует требованиям, описанным здесь.
Отметим, что данное руководство не является учебников по С++: предполагается, что читатель уже знаком с этим языком.
Внимание! Этот перевод, возможно, ещё не готов.
Его статус: идёт перевод
Переведено на Нотабеноиде
http://notabenoid.org/book/32830/114579
Переводчики: mayorovp, flyngate
Настройки
Готово:
