Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Невиртуальный деструктор 
:(
    Опции темы
vinter
Дата 16.10.2013, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



zzkoderzzzx, дело в том, что не каждый объект  является промежуточным звеном, есть и конечные звенья. Поэтому не каждый объект должен быть базой для другого объекта и это не нарушает принципы ОО нисколько. Полиморфизм и наследование не являются обязательным атрибутом объекта, а, скорее, языка на котором можно или нельзя описать объект с точки зрения ООП. Насчёт protected я, частично, согласен. Это ослабление правил, но и ООП не доктрина ;)

Цитата

Можно добавить замечание про код с макросами, бессмысленными названиями, чрезмерным использованием символа _ (часто встречается даже __ ). 

Всё это сделано сознательно, т.к. для разработчиков библиотек зарезервированы имена типа __Upper*. Они не являются частью интерфейса, а значит не могу рассматриваться в контексте какой бы то ни было парадигмы.


--------------------
Мой блог
PM MAIL WWW   Вверх
zzkoderzzzx
Дата 16.10.2013, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 1.10.2013

Репутация: нет
Всего: нет



Цитата(vinter @ 16.10.2013,  20:18)
Всё это сделано сознательно, т.к. для разработчиков библиотек зарезервированы имена типа __Upper*. Они не являются частью интерфейса, а значит не могу рассматриваться в контексте какой бы то ни было парадигмы.

Это сказано не про парадигмы ООП, а про общее качество кода. Такой стиль не удовлетворяет Microsoft coding standard, а также стандартам кодирования, принятым в других организациях.

Это сообщение отредактировал(а) zzkoderzzzx - 16.10.2013, 20:25
PM MAIL   Вверх
zzkoderzzzx
Дата 16.10.2013, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 1.10.2013

Репутация: нет
Всего: нет



Цитата(azesmcar @ 16.10.2013,  18:14)
Цитата(zzkoderzzzx @  16.10.2013,  16:58 Найти цитируемый пост)
не ОО код значит плохой код

кто так решил? расскажи это Степанову smile

Вот например статья на эту тему
http://forum.sources.ru/index.php?showtopic=293695
PM MAIL   Вверх
akizelokro
Дата 16.10.2013, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 1
Всего: 5



Неочевидно, даже близко (и не прочитав статью).
ООП не более чем шаг к индустрии, и должен рассматриваться только с этой точки зрения. В рамках этого шага.
Если же переходить ab ovo, то всё это лишь подвид математических вычислений. И если применимы понятия "плохой" и "хороший" с точки зрения эстетики, то там определяется всё логикой и математическими "привычками".



--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
baldina
Дата 16.10.2013, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



Цитата(zzkoderzzzx @  16.10.2013,  19:32 Найти цитируемый пост)
Такой код практически нигде не пройдет code review

а где именно? давайте посмотрим им в лицо - мужественным людям, отказавшимся от STL (кстати, что они используют,  не MFC ли?)

Цитата(zzkoderzzzx @  16.10.2013,  20:24 Найти цитируемый пост)
Такой стиль не удовлетворяет Microsoft coding standard

это ты про дефайны? загляни в стандартные мелкософтовские заголовки... или они самим себе запрещают свои заголовки использовать?

Цитата(zzkoderzzzx @  16.10.2013,  21:06 Найти цитируемый пост)
Вот например статья на эту тему

забор, да еще многабукф. но принципа ради поискал, где сказано, что не ОО это плохо. не нашел.
PM MAIL   Вверх
azesmcar
Дата 16.10.2013, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата(zzkoderzzzx @ 16.10.2013,  21:06)
Цитата(azesmcar @ 16.10.2013,  18:14)
Цитата(zzkoderzzzx @  16.10.2013,  16:58 Найти цитируемый пост)
не ОО код значит плохой код

кто так решил? расскажи это Степанову smile

Вот например статья на эту тему
http://forum.sources.ru/index.php?showtopic=293695

Во первых давайте четко различать авторитетную литературу и написанное на заборе. Покажи авторитетный источник информации а не статью никому неизвестного автора.
Тот же Степанов, создатель stl и generic программиривания, вообще не признает объектно-ориентировааный подход
Цитата

I find OOP technically unsound. It attempts to decompose the world in terms of interfaces that vary on a single type. To deal with the real problems you need multisorted algebras — families of interfaces that span multiple types. I find OOP philosophically unsound. It claims that everything is an object. Even if it is true it is not very interesting — saying that everything is an object is saying nothing at all. I find OOP methodologically wrong

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

Добавлено через 2 минуты и 29 секунд
По поводу стиля с подчеркиваниями: это зарезервированные имена как уже заметили выше, а неоправданных макросов в стл я не припомню.

Добавлено через 3 минуты и 9 секунд
Цитата(baldina @  16.10.2013,  22:32 Найти цитируемый пост)
забор, да еще многабукф. но принципа ради поискал, где сказано, что не ОО это плохо. не нашел

Я тоже кстати не нашел smile

Добавлено через 5 минут и 13 секунд
Цитата(zzkoderzzzx @  16.10.2013,  20:24 Найти цитируемый пост)
Такой стиль не удовлетворяет Microsoft coding standard, а также стандартам кодирования, принятым в других организациях.

Интересно а реализация стл поставляемая с visual studio тоже не пройдет у н х ревью? smile 
PM   Вверх
codemonkeys
Дата 17.10.2013, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 17.10.2013

Репутация: нет
Всего: нет



Цитата(baldina @ 16.10.2013,  22:32)
Цитата(zzkoderzzzx @  16.10.2013,  21:06 Найти цитируемый пост)
Вот например статья на эту тему

забор, да еще многабукф. но принципа ради поискал, где сказано, что не ОО это плохо. не нашел.

Там сказано хороший код это ОО код.
Значит не ОО код - плохой.

Добавлено через 6 минут и 11 секунд
Цитата(azesmcar @ 16.10.2013,  23:20)
Интересно а реализация стл поставляемая с visual studio тоже не пройдет у н х ревью? smile

По идее не должна пройти, но как то прошла. Индусам видимо было в лом писать свой СТЛ, и они взяли опенсорс реализацию без кодревью : вроде работает и х** с ним.
PM MAIL   Вверх
bsa
Дата 17.10.2013, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Цитата(codemonkeys @  17.10.2013,  09:45 Найти цитируемый пост)
Там сказано хороший код это ОО код.
Значит не ОО код - плохой.
Качество кода определяется несколько иначе. И ОО тут играет весьма посредственную роль.
PM   Вверх
azesmcar
Дата 17.10.2013, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата(codemonkeys @  17.10.2013,  08:45 Найти цитируемый пост)
Там сказано хороший код это ОО код.

Я все не прочитал, но по моему там написано, что ОО код - это хороший код. А это не тоже самое, что хороший код - ОО код.
Mercedes - хорошая машина, но хорошая машина не обязательно только Mercedes. Аналогия понятна. Тем не менее я уверен, что найдешь кучу статей в интернете написанных на форумах и в блогах о том, что ООП - класс, все остальное отстой smile
Я же говорю о том, что для доказательства надо оперировать материалом авторов, пользующимся авторитетом в мире программирования, а не ссылками на блоги никому неизвестных авторов.
Тот же boost не имеет ничего общего с OOP, но тем не менее
Цитата(Herb Sutter and Andrei Alexandrescu @  C++ Coding Standards)

...one of the most highly regarded and expertly designed C++ library projects in the world.


PM   Вверх
VSB
Дата 19.10.2013, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 23.8.2007

Репутация: 1
Всего: 2



Цитата(codemonkeys @  17.10.2013,  08:45 Найти цитируемый пост)
По идее не должна пройти, но как то прошла. Индусам видимо было в лом писать свой СТЛ, и они взяли опенсорс реализацию без кодревью : вроде работает и х** с ним.


Ошибаетесь
Изначально код STL был куплен у Dinkumware, сейчас он пишется в самой MS, и его мейнтейнер - Stephan T. Lavavej
PM MAIL   Вверх
Zadnica
Дата 21.10.2013, 08:22 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 18.10.2013

Репутация: нет
Всего: нет



Цитата(VSB @ 19.10.2013,  00:00)
Цитата(codemonkeys @  17.10.2013,  08:45 Найти цитируемый пост)
По идее не должна пройти, но как то прошла. Индусам видимо было в лом писать свой СТЛ, и они взяли опенсорс реализацию без кодревью : вроде работает и х** с ним.


Ошибаетесь
Изначально код STL был куплен у Dinkumware, сейчас он пишется в самой MS, и его мейнтейнер - Stephan T. Lavavej

Сути это не меняет. Купили код у какой то г*вноконторы, поэтому он такой х*ёвый.

Добавлено через 12 минут и 53 секунды
Цитата(azesmcar @ 16.10.2013,  19:36)
Открою тебе секрет. Весь STL построен на полиморфизме smile 
Полиморфизм это не виртуальные функции. Виртуальные функции всего лишь один из методов для реализации динамического полиморфизма.

Не смеши. 

В STL и нормального наследования то нет -иерархии не больше 3 классов, не говоря о множественном наследовании, о полиморфизме и речи не идет.
PM MAIL   Вверх
baldina
Дата 21.10.2013, 10:10 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



Цитата(Zadnica @  21.10.2013,  08:22 Найти цитируемый пост)
В STL ... полиморфизме и речи не идет. 

Zadnica, может сначала поизучать?
полиморфизм разный бывает. чего нет в шаблонах С++, так это полиморфизма подтипов (видимо в угоду простоте концепции и скорости компиляции), хотя вполне могли бы быть в виде концепций. Вероятно скоро будут.

PM MAIL   Вверх
azesmcar
Дата 21.10.2013, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Zadnica,

Почитай для начала что такое полиморфизм.
PM   Вверх
Zadnica
Дата 21.10.2013, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 18.10.2013

Репутация: нет
Всего: нет



Шаблоны не истинный ОО-полиморфизм,  это всего лишь обёртка над макросами С.
PM MAIL   Вверх
baldina
Дата 21.10.2013, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



Цитата(Zadnica @  21.10.2013,  11:00 Найти цитируемый пост)
истинный ОО-полиморфизм

это не истинный ОО-полиморфизм, а всего лишь обёртка над ассемблером. 

Цитата(Zadnica @  21.10.2013,  11:00 Найти цитируемый пост)
Шаблоны ... всего лишь обёртка над макросами С. 

очень мягко говоря у вас весьма вульгарные представления о языке и его реализации

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1031 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.