Правила программирования на Си и Си++
Не пользуйтесь функциями типа get/set (чтения и присваивания значений)Откажитесь от выражений языка Си, когда программируете на Си++
Проектируйте с учетом наследования
Функция-член должна обычно использовать закрытые поля данных класса
Используйте константы
Используйте структуры только тогда, когда все данные открытые и нет функций-членов
Не размещайте тела функций в определениях классов
Избегайте перегрузки функций и аргументов, используемых по умолчанию
Избегайте дружественных классов
Наследование — это форма сцепления
Не портьте область глобальных имен: проблемы Си++
Никогда не используйте ссылки в качестве результатов, пользуйтесь указателями
Не возвращайте ссылки (или указатели) на локальные переменные
Не возвращайте ссылки на память, выделенную оператором new
Присваивание самому себе должно работать
Классы, имеющие члены-указатели
Исходите из того, что члены и базовые классы инициализируются в случайном порядке
Конструкторы копий должны использовать списки инициализации членов
Производные классы должны обычно определять конструктор копии и функцию operator=( )
Конструкторы, не предназначенные
Используйте счетчики экземпляров объектов для инициализации на уровне класса
Суперобложки на Си++ для существующих интерфейсов редко хорошо работают
Виртуальные функции — это те функции, которые вы не можете написать на уровне базового класса
Виртуальная функция не является виртуальной, если вызывается из конструктора или деструктора
Не вызывайте чисто виртуальные функции из конструкторов
Деструкторы всегда должны быть виртуальными
Функции базового класса
Не делайте функцию виртуальной
Защищенные функции обычно должны быть виртуальными
Опасайтесь приведения типов (спорные вопросы Си++)
Не вызывайте конструкторов из операции operator=( )
Операция — это сокращение (без сюрпризов)
Используйте перегрузку операций
Перегрузив одну операцию, вы должны перегрузить все сходные с ней операции
Перегруженные операции должны работать точно так же, как они работают в Си
Перегруженной бинарной операции
Если можно, то делайте все преобразования типов с помощью конструкторов
Используйте new/delete вместо malloc()/free()
Вся память, выделенная в конструкторе, должна быть освобождена в деструкторе
Локальные перегрузки операторов new и delete опасны
Используйте встроенные шаблоны функций вместо параметризированных макросов
Всегда знайте размер шаблона после его расширения
Шаблоны не заменяют наследование; они его автоматизируют
Назначение исключений — не быть пойманными
По возможности возбуждайте объекты типа error
Возбуждение исключений из конструктора ненадежно
Кризис экономики
Без этой штуки никто не может обойтись вот уже много лет подряд. Все, с завидным упорством, убеждают и себя и друг друга, что есть кризис в экономике. При этом никто не может четко и определенно сказать - когда он начался и в чем выражается. Говорят кучу научных слов. Делают вид, что понимают об чем речь. Поднимают денег на этих разговорах.Антикризис в экономике
Банковский кризис
Валютный кризис
Финансовый кризис
Кризис доверия
Кризисный менеджмент
Мировой экономический кризис
Прогноз кризиса в экономике
Кризис экономики - Россия
Теория кризиса экономики
Экономический кризис