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