Войти
ФлеймФорумПрограммирование

Нубовопросы по С++ (3 стр)

Страницы: 1 2 3 4 510 Следующая »
#30
5:44, 23 дек. 2012

innuendo
> Очень спорный вопрос
  Есть что возразить?


#31
5:53, 23 дек. 2012

RenGD
100500 успешных ООП проектов подойдут как возражение?

#32
6:02, 23 дек. 2012

AvrDragon
> 100500 успешных ООП проектов подойдут как возражение?
  Звучит как реклама от маркетологов: "а вот смотри у этого проекта еще
и ООП есть - поэтому он клевый!!".
  В свое время идеи объектно-ориентированного программирования
были модными и многие разработчики поддались этой тенденции, но
как и все приходящее рано или поздно от них отказываются. 

#33
6:46, 23 дек. 2012

Ты чё, ООП - это стильно, модно, молодёжно!
Изображение

#34
11:14, 23 дек. 2012

RenGD
> > Очень спорный вопрос
> Есть что возразить?

Если при написании с нуля может и не видны плюсы ООП, зато они хорого видны при повторном использовании...

Как известный пример Q и Unreal :)

#35
13:59, 23 дек. 2012

war_zes
> Перечитываю Страуструпа. Наткнулся на абзац:
> Память под строковые литералы выделяется статически, поэтому их возврат из
> функций безопасен. Например:
> const char* error_message (int i)
> {
> return "range error" ;
> }
> Память, содержащая строку "range error", никуда не денется после выходя из
> функции error_message ().
>
> И внезапно впал в ступор :-/

Try
> будет, это тоже что и:
> static const char* r_error = "range error";
>
> const char* error_message (int i)
> {
> const char *ch = r_error;
> return ch;
> }

Да вот только template <char*> - во втором случае возможен, а в первом нет - всегда это бесило

#36
14:20, 23 дек. 2012

RenGD
> "Чем меньше ООП в проекте, тем лучше."

Ну вот что за глупости?
То есть ты используешь чисто процедурное программирование? :D
Или ты как то по своему ломаешь стереотипы?

#37
14:38, 23 дек. 2012

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

Mr.TyanVary
> То есть ты используешь чисто процедурное программирование? :D
> Или ты как то по своему ломаешь стереотипы?
  Мои проекты пишутся в Си-стиле, переменные и функции глобальные,
разнесенные по разным файлам и неймспейсам. Все просто, ясно и понятно.
Проект делается, а не онанируется мозг в поисках "идеальной архитектуры"
и решения внезапно возникающих "крестопроблем".

#38
14:57, 23 дек. 2012

fsmoke
> Да вот только template <char*> - во втором случае возможен, а в первом нет -
> всегда это бесило
Не совсем так:
Во втором случае тоже не возможен, нужно указать внешнюю линковку для char* добавив extern.

#39
15:23, 23 дек. 2012

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

#40
15:32, 23 дек. 2012

Chaos_Optima
> они обычно всегда построены на ООП
  Ключевое слово. Уже есть продуманная
архитектура, над которой поработал коллектив
разработчиков (+готовые классы из прошлых проектов).

Chaos_Optima
> эпическую чушь несёшь
  Это факты, против них не попрешь

Chaos_Optima
> ох и facepalm знаю кучу успешных проектов написанных с помощью ООП, практически
> все игры используют движки,
  Это называется наследование, ООП хорош именно тогда, когда уже есть что-то
готовенькое от которого можно унаследовать свои классы для своих задач.

#41
15:35, 23 дек. 2012

Chaos_Optima
> нет, у новичков просто опыта нету поэтому у них не получается правильно
> построить классы и их взаимодействие, но всё приходит с опытом.
  Это миф, с опытом они лишь изучают новые классы и новые паттерны,
вместо того чтобы самим научиться решать задачи (а не пихать везде
буст, стл и мфс).

Chaos_Optima
> ты похоже так и остался на уровне нуба (или просто нуб) раз позволяешь себе
> замечания в виде
> RenGD
> > Класс занимает больше памяти
> и
> RenGD
> > ООП - можно использовать для рефакторинга уже
> > имеющегося кода,
  А ты сам то проверял?

#42
15:52, 23 дек. 2012

RenGD
> Это факты, против них не попрешь
какие факты? что ООП можно использовать только для рефакторинга XD жги ещё.
RenGD
> Это называется наследование, ООП хорош именно тогда, когда уже есть что-то
> готовенькое от которого можно унаследовать свои классы для своих задач.
Facepalm все ООП проекты что я знаю писались с 0.
и во первых ты скорее всего имел введу наследие, и ты что думаешь что например unreal engine 3 имеет все классы unreal engine 2 и 1 ? XDDD ржу немогу
интересно а как же люди пишуть проекты на C# или JAVA? старого кода то нет XD
RenGD
> Это миф, с опытом они лишь изучают новые классы и новые паттерны,
> вместо того чтобы самим научиться решать задачи
XDD жжёшь XD странно я вот на работе только ООП и юзаю, и удивительно но всё получается и всё оч удобно.
RenGD
> А ты сам то проверял?
глупы что ли? причём тут проверял или нет, нужно язык знать а не чушь городить, вот тебе проверка
http://liveworkspace.org/code/RRbcZ$0

#43
15:54, 23 дек. 2012

RenGD
Признайся честно, единственная причина которой тебе не угодил ООП - то что он попуплярен. Так что если его начать ругать, то сразу становишься НИ ТАКОЙ КАК ВСЕ. Вот и вся причина нелюбви.

>и раскидать все функции и переменные по классам обречена на провал.
лол, 100 раз отлично срабатывала. Irrlicht, UDK, Torque...даже в конечном итоге Quake...Или им всем просто "повезло" а на самом деле это не работает, так, просто исключения, подтверждающие правило?

>переменные и функции глобальные, разнесенные по разным файлам и неймспейсам
oh, wow~
А если у тебя в игре 100500 монстров, то будет 100500 глобальных переменных?
*сейчас будет удивительная история что мол структуры и приложенные к ним глобальные функции - это ок, но вот если сделать это явно с помощью классов, то это уже зашквар*

#44
15:54, 23 дек. 2012

У новичков со сложными проектами в принципе плохо. Тупо потому, что нет опыта.
И это касается любой парадигмы. И процедурной тоже.

С появлением опыта, а в особенности - опыта сопровождения, понимаешь, как сделать лучше.

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

А так вообще то, всякого рода спаггети и говнокод в режиме "включаем турбо, завтра боссу уже нужен результат" можно писать и с применением ООП, и в процедурном стиле однофикственно.


Просто то, что является неочевидным при сопровождении ООП кода, зачастую является нормой для процедурного стиля

Страницы: 1 2 3 4 510 Следующая »
ФлеймФорумПрограммирование

Тема в архиве.