Бьерн Страуструп - Язык программирования С++. Вступление, глава 1 - Несколько полезных советов

ОГЛАВЛЕНИЕ

 

Несколько полезных советов

Ниже представлен "свод правил", который стоит учитывать при изучении С++. Когда вы станете более опытными, то на базе этих правил сможете сформулировать свои собственные, которые будут более подходить для ваших задач и более соответствовать вашему стилю программирования. Сознательно выбраны очень простые правила, и в них опущены подробности. Не следует воспринимать их слишком буквально. Хорошая программа требует и ума, и вкуса, и терпения. С первого раза обычно она не получается, поэтому экспериментируйте! Итак, свод правил.

  1. [1] Когда вы пишите программу, то создаете конкретные представления тех понятий, которые использовались в решении поставленной задачи. Структура программы должна отражать эти понятия настолько явно, насколько это возможно.    
  • [a] Если вы считаете "нечто" отдельным понятием, то сделайте его классом.    
  • [b] Если вы считаете "нечто" существующим независимо, то сделайте его объектом некоторого класса.    
  • [c] Если два класса имеют нечто существенное, и оно является для них общим, то выразите эту общность с помощью базового класса.    
  • [d] Если класс является контейнером некоторых объектов, сделайте его шаблонным классом.
  1. [2] Если определяется класс, который не реализует математических объектов вроде матриц или комплексных чисел и не является типом низкого ровня наподобие связанного списка, то:    
  • [а]Не используйте глобальных данных.
  • [b]Не используйте глобальных функций (не членов).    
  • [c]Не используйте общих данных-членов.    
  • [d]Не используйте функции friend (но только для того, чтобы избежать [а], [b] или [c]).    
  • [e]Не обращайтесь к данным-членам другого объекта непосредственно.    
  • [f]Не заводите в классе "поле типа"; используйте виртуальные функции.    
  • [g]Используйте функции-подстановки только как средство значительной оптимизации.