Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 [2]  Все   Вниз
  Печать  
Автор Тема: Задача про класс: сколько ошибок?  (Прочитано 35095 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Михалыч
Команда клуба

ru
Online Online
Пол: Мужской

« Ответ #30 : 16-08-2005 15:42 » 

Я-то извиню, а вот твои будущие проекты - вряд ли извинят незнание паттернов. Так что если собираешься заниматься программированием профессионально, рано или поздно осваивать паттерны придется. Лучше рано, чем поздно, меньше велосипедов изобретешь.

Невозможно стать писателем, выучив одну лишь грамматику. Писать ты будешь грамотно, без ошибок, только вот писать-то не о чем... Нужно, во-первых, иметь что сказать, во-вторых, уметь выразить это правильно.

С программированием та же ситуация. Выучив наизусть все грамматические конструкции, к примеру, С++, ты овладеешь лишь компьютерной грамотой. Кроме этого, нужно еще уметь составить сюжет и раскрыть его. А вот тут-то и необходимо владение алгоритмами, паттернами, объектным анализом и еще массой вещей, без которых серьезную программу не написать.

Книга "Банды четырех" в нашей библиотеке есть. Вроде бы есть и Ларман. И то, и другое есть в "Озоне". Так что преодолевай ужас и берись за дело.
Ну, чего уж так народ пугать Улыбаюсь
Есть ведь очень разные задачи. Я вот, например, уже много лет занимаюсь програмированием управляющих контроллеров. Никакого графического интерфейса, и еще много чего не применяю, хотя и изучаю. Это же не значит, что писать мне будет не о чем... Будет, и еще на много лет Улыбаюсь Без С++ трудновато (привык) а вот без паттернов (и даже без STL зачастую) - легко Улыбаюсь
Записан

Поживем - увидим... Доживем - узнаем... Выживу - учту  Улыбаюсь
Alf
Гость
« Ответ #31 : 16-08-2005 19:18 » 

Михалыч, если построить диаграмму классов типичной задачи для контроллера в виде дерева наследования, то сколько уровней наследования на ней будет? И вообще какое количество классов (конкретных и абстрактных) в ней задействовано?
Записан
Михалыч
Команда клуба

ru
Online Online
Пол: Мужской

« Ответ #32 : 17-08-2005 11:38 » 

Ну, по разному бывает. Все от задачи зависит. В одном из проектов (пожалуй самом типовом из тех, что я делал) было порядка 4-5 наследований, не более... Это не мало, но и не много Улыбаюсь А разных классов (большинство из которых имели абстрактных предков) до 20-30 штук на задачу. Количество объектов - иногда десятки, реже сотни...
Записан

Поживем - увидим... Доживем - узнаем... Выживу - учту  Улыбаюсь
Alf
Гость
« Ответ #33 : 17-08-2005 12:41 » 

Не очень представляю, как разместить 20-30 классов в 5-уровневом дереве наследования... Двоичное дерево и то после 5 уровней даст 32 листа. 

А вообще с 20-30 классами, пожалуй, как-то еще можно разобраться на интуитивном уровне. Когда же их больше сотни, я бы лично за себя не поручился. Хотя, конечно, у людей разные способности. Есть же феномены, которые корень 15-й степени из 30-значного числа в уме извлекают за пару секунд. У меня способности ниже среднего при дырявой памяти, поэтому без вспомогательных средств никак.

В целом паттерны для программиста мне представляются тем же, чем стандартные приемы, скажем, для дзюдоиста. Ты его, к примеру, хвать за рукав, а у него готовый контрприем, причем отточенный до автоматизма, применяется без раздумий. И в этом его преимущество: пока ты раздумывал, как бы это половчее заехать ему в глаз, оказываешься уже на полу с заломанной рукой. Точно так же опытный шахматист, играющий против дилетанта, обладает огромным преимуществом: дилетант видет только горсть фигурок на доске, а профи - до боли знакомую сицилианскую защиту, в которой он как рыба в воде. Конечно, соседа Васю можно свалить неожиданным ударом в ухо, особенно если он не слишком трезв, или облапошить в поддавки; а вот на профессиональной арене специальные навыки необходимы, одной природной ловкостью или сметливостью не обойдешься
Записан
Михалыч
Команда клуба

ru
Online Online
Пол: Мужской

« Ответ #34 : 17-08-2005 15:34 » 

Дык, а я и не говорил, что эти 20-30 классов лежат в том же наследовании Улыбаюсь
А еще - специфика у нас такова, что системы проще и правильнее (ИМХО) делать распределенными. Т.е. у нас проблемы с "территориальным" размещением (как минимум) а потому и система дробится на "сотню маленьких медвежат"... Результат - много мелких и относительно "незагруженных" (по сложности задач) контроллеров. Ну, опять же - незагруженных - понятие очень относительное и трудно сравнимое с чем либо Улыбаюсь
Это я все к чему - к тому, что задачи бывают разновсяческие. Где-то все эти "вкусности" - м.б. только во вред.
Записан

Поживем - увидим... Доживем - узнаем... Выживу - учту  Улыбаюсь
Alf
Гость
« Ответ #35 : 17-08-2005 19:49 » 

IMHO не бывает знаний во вред; бывают знания, которые не удается применить к данной задаче. Завтра задача стала шире - а у тебя, оказывается, есть для нее готовое решение. Да и жизнь - штука переменчивая, на своей шкуре знаю. Вчера ты занимался микропроцессорами, сегодня - мэйнфреймами, а завтра - сетями или какой-нибудь IP-телефонией. Тот, кто гибче, имеет больше шансов выжить. Вот такая вот эволюция...

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

Сразу же оговорюсь, что все мои советы и рекомендации (как прошлые, так и будущие) ориентированы исключительно на первую категорию, вторым я вряд ли смогу помочь при всем желании.
Записан
Михалыч
Команда клуба

ru
Online Online
Пол: Мужской

« Ответ #36 : 18-08-2005 01:26 » 

Согласен абсолютно! Как я и говорил выше - не применяю много чего, но изучаю и знаю может быть даже больше всяких "плюшек", чем применяю Улыбаюсь
Специфика, блин Улыбаюсь Мне еще и молодых специалистов "расти" и учить приходится. Тут без широких знаний - никак.
Да еще им и объяснять приходится почему я чего-то не использую, и зачем им это надо. Бывает тяжело иногда, особенно когда попадаются "молодые" из первой категории (к счастью у нас такие не задерживаются)
Записан

Поживем - увидим... Доживем - узнаем... Выживу - учту  Улыбаюсь
Hooter
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #37 : 18-08-2005 04:30 » 

Да еще им и объяснять приходится почему я чего-то не использую, и зачем им это надо. Бывает тяжело иногда, особенно когда попадаются "молодые" из первой категории (к счастью у нас такие не задерживаются)
Это которые? Почему тяжело? Может, из второй?.. Или я что-то недопонял?
Записан
Михалыч
Команда клуба

ru
Online Online
Пол: Мужской

« Ответ #38 : 18-08-2005 15:45 » 

Ой!!! Я не могу!!! Улыбаюсь Улыбаюсь Улыбаюсь
Конечно из второй....
Надо же было так ляпнуть. ГЫЫЫ!...
Записан

Поживем - увидим... Доживем - узнаем... Выживу - учту  Улыбаюсь
Страниц: 1 [2]  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines