Home | Posts RSS | Comments RSS | Login

С++ заповеди.

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

0 коммент. to С++ заповеди.: