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






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

Предпочитайте предоставление абстрактных интерфейсов
Открытое наследование означает
Обсуждение
Практикуйте безопасное перекрытие
Виртуальные функции стоит делать неоткрытыми, а открытые — невиртуальными

Избегайте возможностей неявного преобразования типов
Делайте данные-члены закрытыми (кроме случая агрегатов в стиле структур C)
Не допускайте вмешательства во внутренние дела
Разумно пользуйтесь идиомой Pimpl
Предпочитайте функции, которые не являются ни членами, ни друзьями
New и delete всегда должны разрабатываться вместе

При наличии пользовательского
Конструкторы, деструкторы и копирование
Определяйте и инициализируйте переменные-члены в одном порядке
В конструкторах предпочитайте инициализацию присваиванию
Избегайте вызовов виртуальных функций в конструкторах и деструкторах
Делайте деструкторы базовых

Деструкторы, функции освобождения ресурсов и обмена не ошибаются
Копируйте и ликвидируйте согласованно
Явно разрешайте или запрещайте копирование
Избегайте срезки. Подумайте
Предпочитайте канонический вид присваивания

Обеспечьте бессбойную функцию обмена
Пространства имен и модули
Храните типы и их свободный интерфейс в одном пространстве имен
Храните типы и функции в разных
Не используйте using для пространств

Избегайте выделения и освобождения памяти в разных модулях
Не определяйте в заголовочном файле объекты со связыванием
Не позволяйте исключениям пересекать границы модулей

Используйте достаточно переносимые типы в интерфейсах модулей
Шаблоны и обобщенность
Разумно сочетайте статический и динамический полиморфизм
Выполняйте настройку явно и преднамеренно
Не специализируйте шаблоны функций

Пишите максимально обобщенный код
Обработка ошибок и исключения
Широко применяйте assert для документирования внутренних допущений и инвариантов
Определите разумную стратегию обработки ошибок и строго ей следуйте
Отличайте ошибки от ситуаций, не являющихся ошибками




Страны и деньги

В мире есть разные страны и в них вращаются самые разные денежные знаки. Где-то это происходит по богатому, где-то гораздо скромнее. Но денежное обращение это то немногое, что обьединяет всех людей на планете. Я, например, не смогу прожить без денег. Думаю, что и вы тоже затруднитесь сделать такой шаг.

Австралия
Азербайджан
Азия
Америка
Англия

Африка
Беларусь
Ближний Восток
Болгария
Турция

Украина
Франция
Страны и деньги - Япония
Бразилия
Бывший СССР

Германия
Грузия
Европа
ЕС
Израиль

Индия
Индонезия
Польша
Прибалтика
Сингапур

Испания
Канада
Китай
Корея
Куба

Латинская Америка
Малайзия
Новая Зеландия
Норвегия
Океания

Швейцария
Швеция
Экономическая география