Язык программирования C++ для профессионалов

       

Свод правил


В этой лекции мы коснулись многих тем, но, как правило, избегали давать настоятельные и конкретные рекомендации по рассматриваемым вопросам. Это отвечает моему убеждению, что нет "единственно верного решения". Принципы и приемы следует применять способом, наиболее подходящим для конкретной задачи. Здесь требуются вкус, опыт и разум. Тем не менее, можно предложить свод правил, которые разработчик может использовать в качестве ориентиров, пока не приобретет достаточно опыта, чтобы выработать лучшие. Этот свод правил приводится ниже.

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

  • Нацеливайте пользователя на применение абстракции данных и объектно-ориентированного программирования.
  • Постепенно переходите на новые методы, не спешите.
  • Используйте возможности С++ и методы обЪектно-ориентированного программирования только по мере надобности.
  • Добейтесь соответствия стиля проекта и программы.
  • Концентрируйте внимание на проектировании компонента.
  • Используйте классы для представления понятий.
    • Используйте общее наследование для представления отношений "есть".
    • Используйте принадлежность для представления отношений "имеет".
    • Убедитесь, что отношения использования понятны, не образуют циклов, и что число их минимально.
    • Активно ищите общность среди понятий области приложения и реализации, и возникающие в результате более общие понятия представляйте как базовые классы.
    • Определяйте интерфейс так, чтобы открывать минимальное количество требуемой информации:
      • Используйте, всюду где это можно, частные данные и функции-члены.
      • Используйте описания public или protected, чтобы отличить запросы разработчика производных классов от запросов обычных пользователей.
      • Сведите к минимуму зависимости одного интерфейса от других.
      • Поддерживайте строгую типизацию интерфейсов.
      • Задавайте интерфейсы в терминах типов из области приложения.
      • Дополнительные правила можно найти §11.5.

        © 2003-2007 INTUIT.ru. Все права защищены.



        Содержание раздела