Группа начинающих программистов на С++

  • Подписчики: 234 подписчиков
  • ID: 25893953
Блокировка:
Нет ограничений
Верификация:
Сообщество не верифицировано администрацией ВКонтакте
Видимость
открытое
Популярность:
У сообщества нет огня Прометея
Домен:
programmer_cplusplus

Описание

Если ты хочешь стать одним из них... из тех, кого уважают и ценят... Если ты еще совсем новичок в программировании, еще не знаешь, что это такое и с чем "его едят", то ты попал прямо по адресу. Мы постараемся сделать все возможное, чтобы ты научился программировать. Конечно, результат зависит, в первую очередь, от самого человека, от его целеустремленности и желания, поэтому тебе нужно будет приложить немало усилий для достижения успеха. Поверь, что оно стоит того. А мы постараемся тебе в этом помочь... Вот набор «правил», которые могут пригодиться при изучении С++. По мере продвижения вы сможете развить их в некую более осмысленную концепцию, соответствующую вашим задачам и вашему стилю программирования. Они намеренно упрощены и поэтому детали опущены. Не воспринимайте их буквально. Для написания хороших программ требуется ум, вкус и терпение. Не ожидайте, что у вас хорошо получится с первого раза. Экспериментируйте! 1) В процессе программирования вы воплощаете свое решение некоторой задачи в конкретный код. Постарайтесь, чтобы структура программы отражала ваши идеи как можно более непосредственно: а) Если вы думаете об «этом» как об отдельном понятии, оформите это в виде класса; б) Если вы думаете об «этом» как об отдельной сущности, сделайте «это» объектом какого-нибудь класса; в) Если два класса имеют общий интерфейс, оформите этот интерфейс в виде абстрактного класса; г) Если реализации двух классов имеют нечто существенно общее, реализуйте это общее в виде базового класса; д) Если класс является контейнером объектов, сделайте из него шаблон; е) Если функция реализует алгоритм для контейнера, оформите ее в виде шаблона функции, выполняющего алгоритм для семейства контейнеров; ж) Если классы, шаблоны, и т.п. логически связаны между собой, поместите их в одно пространство имен. 2) Какой бы класс вы не определяли (если только он не реализует математические сущности вроде матриц, комплексных чисел или низкоуровневые типы наподобие связанного списка): а) Не используйте глобальные данные(пользуйтесь членами); б) Не используйте глобальные функции; в) Не используйте открытые члены класса; г) Не используйте функций-друзей, разве что во избежание а и в; д) Не создавайте в классе «поля типа» - пользуйтесь виртуальными функциями; е) Не применяйте встроенные функции, разве что для значительной оптимизации.