Здравствуйте, Дарней, Вы писали:
Д>Здравствуйте, DaBro, Вы писали:
Д>хотел бы я знать, что ты понимаешь под "основами ООП"
Д>PS у меня есть один знакомый, который не понимает толком разницы между виртуальными и невиртуальными функциями. Точнее, раньше не понимал Но при этом он пишет вполне качественный код — во всяком случае, намного лучше многих других наших коллег
Как можно писать высококачественный плюсовый код не различая виртуальных и невиртуальных функций. И ктомуже умения писать код это еще половина проблемы, другая половина это читать существующий код, понимать его и модифицировать. А есть ведь еще такие вещи как виртуальное наследование
Здравствуйте, Andrew.W Worobow, Вы писали:
AWW>Здравствуйте, DaBro, Вы писали:
DB>>Последнее время приходится собеседовать много людей. И это меня повергает в уныние.
AWW>Просто берите лучшее что есть, главное опыт и мотивация к работе... Научатся... Можно даже сказать — неожиданно быстро, научатся...
C>Как можно писать высококачественный плюсовый код не различая виртуальных и невиртуальных функций. И ктомуже умения писать код это еще половина проблемы, другая половина это читать существующий код, понимать его и модифицировать. А есть ведь еще такие вещи как виртуальное наследование
Ага и страшное слово — интерфейс... На самом деле проблема не в вариантах реализации, а в выборе оптимального и понятного способа кодирования
Здравствуйте, creatman, Вы писали:
C>Здравствуйте, Дарней, Вы писали:
Д>>Здравствуйте, DaBro, Вы писали:
Д>>хотел бы я знать, что ты понимаешь под "основами ООП"
Д>>PS у меня есть один знакомый, который не понимает толком разницы между виртуальными и невиртуальными функциями. Точнее, раньше не понимал Но при этом он пишет вполне качественный код — во всяком случае, намного лучше многих других наших коллег
C>Как можно писать высококачественный плюсовый код не различая виртуальных и невиртуальных функций. И ктомуже умения писать код это еще половина проблемы, другая половина это читать существующий код, понимать его и модифицировать. А есть ведь еще такие вещи как виртуальное наследование
Есть и такое. Мало где пригождается. Как говорится простота залог успеха
Здравствуйте, Un0, Вы писали:
Un0>Здравствуйте, DaBro, Вы писали:
Un0>И не говорите Un0>найти нормального спеца проблема
Un0>а криворуких вообще дохрена.
Ну давайте еще бедных индийцев вспомним... Критику навести накого угодно можно, сначала следует на себя посмотреть...
Здравствуйте, xog, Вы писали:
C>>Как можно писать высококачественный плюсовый код не различая виртуальных и невиртуальных функций. И ктомуже умения писать код это еще половина проблемы, другая половина это читать существующий код, понимать его и модифицировать. А есть ведь еще такие вещи как виртуальное наследование xog>Ага и страшное слово — интерфейс... На самом деле проблема не в вариантах реализации, а в выборе оптимального и понятного способа кодирования
Хм...
Если человек не знает, что такое шаблон, интерфейс, виртуальное наследование, виртуальные функции (собственно человек не зает Си++ но кодирает на нем) как он может выбирать вариант реализации? Он будет делать такую реализацию, которая соответствует его уровню заний и опыту, а если и то и другое в небольших количествах, упасите боже.
Здравствуйте, МихаилС, Вы писали:
МС>Здравствуйте, xog, Вы писали:
_O_>>>Многие, кстати, не способны написать сортировку.
xog>>Зачем ее писать если есть стандартные способы реализации ?
МС>А зачем в книжных магазинах до сих пор активно торгуются МС>книжки по Турбо-Паскалю 7.0 этого года издания.
Паскаля не знаю, тем более турбо , а с чего вы взяли что они торгуются активно ?
Здравствуйте, _Obelisk_, Вы писали:
L>>Ой, не факт... L>>Особенно если тест на бумаге класса "напишите на С++ функцию сотрировки массива". _O_>Многие, кстати, не способны написать сортировку.
Я сам, кстати, тоже. Не смогу написать на С++ функцию сортировки на бумажке. Мне убицца апстену?
Здравствуйте, creatman, Вы писали:
C>Как можно писать высококачественный плюсовый код не различая виртуальных и невиртуальных функций. И ктомуже умения писать код это еще половина проблемы, другая половина это читать существующий код, понимать его и модифицировать.
оказывается — можно. Код многих других, которые прекрасно знают, что такое виртуальная фнукция, намного хуже. Зачастую — на порядки.
C> А есть ведь еще такие вещи как виртуальное наследование
Ну во первых, с виртуальными функциями у него общее только одно — это название.
А во вторых, кстати, в ABBYY виртуальное наследование запрещено к применению специальной инструкцией. И правильно. Потому что ромбы в иерархиях — это результат кривых рук архитектора.
Здравствуйте, creatman, Вы писали:
C>Хм... C>Если человек не знает, что такое шаблон, интерфейс, виртуальное наследование, виртуальные функции (собственно человек не зает Си++ но кодирает на нем) как он может выбирать вариант реализации? Он будет делать такую реализацию, которая соответствует его уровню заний и опыту, а если и то и другое в небольших количествах, упасите боже.
Заменит это все невиртуальными реализациями, хуже если человек все это знает (по книжкам) и пытается слепить все вместе, вот тогда точно кранты. Самое главное — опыт.
Здравствуйте, xog, Вы писали:
AS>>Есть и такое. Мало где пригождается. Как говорится простота залог успеха
xog>Абсолютно согласен
Абсолютно не согласен. Работаю в большой компании, над большой и серьезной системой, виртуального наследования тут хватает и оно тут к месту. И вопрос тут не в том пригождается оно или нет, а в том знает ли человек проектирующий систему и выбирающий вариант реализации о том, что виртуальное наследование есть вобще, и знает ли он, что если он его забудет использовать, то в определенных (в полне обычных случаях) его система рухнет как карточный домик! Если он не знает этого то просто у него нет опыта и он мало наступал на грабли, по которым прошли многие специалисты.
Если комуто интересно что такое, зачем и где используется виртуальное наследование, напишите в топик по Си++ вам там все расскажут.
Здравствуйте, landerhigh, Вы писали:
L>>>Ой, не факт... L>>>Особенно если тест на бумаге класса "напишите на С++ функцию сотрировки массива". _O_>>Многие, кстати, не способны написать сортировку. L>Я сам, кстати, тоже. Не смогу написать на С++ функцию сортировки на бумажке. Мне убицца апстену?
если реально не можешь (а не "не хочешь"), то да, апстену
Здравствуйте, xog, Вы писали:
xog>Здравствуйте, creatman, Вы писали:
C>>Хм... C>>Если человек не знает, что такое шаблон, интерфейс, виртуальное наследование, виртуальные функции (собственно человек не зает Си++ но кодирает на нем) как он может выбирать вариант реализации? Он будет делать такую реализацию, которая соответствует его уровню заний и опыту, а если и то и другое в небольших количествах, упасите боже.
xog>Заменит это все невиртуальными реализациями, хуже если человек все это знает (по книжкам) и пытается слепить все вместе, вот тогда точно кранты. Самое главное — опыт.
Здравствуйте, Дарней, Вы писали:
>Здравствуйте, DaBro, Вы писали:
Д>хотел бы я знать, что ты понимаешь под "основами ООП"
поскипано...
Д>PPS А знаешь, что меня удивляет больше всего? Это работодатели, которые разводят неимоверные понты на собеседованиях и спрашивают целую кучу вещей, которые в реальной работе на этой позиции никогда не понадобятся.
Например, я мес назад устроился в крупную ИТ компанию. Собеседовали меня — жуть. Сначала большой группой, потом поменьше, потом мой нынешний тим лидер. Много спрашивали про ООП и особенно про паттерны. Приняли. Дали задание. Накрапал архитектурку с использованием 4 паттернов — тим лидер проверил, после моих объяснений понял что для чего(имена классов содержат в себе имя релазуемого паттерна ), и сказал: "Ну мы вообще не так часто используем паттерны." .
Спрашивается нафига понты кидать было.
ЗЫ Контора хорошая особенно HR, да и собственно программерский отдел неплох, только проекту около 20 лет и много унаследованного Сишного кода, а рефакторинг не так сильно поощряется — видимо тоже свои ограничения накладывает.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы