Russian Qt Forum
Ноябрь 23, 2024, 12:08 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 3 4 [5] 6   Вниз
  Печать  
Автор Тема: Scoped  (Прочитано 37968 раз)
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #60 : Июль 19, 2013, 13:00 »

Как только вы выучите С++ у вас сразу все упроститься. Улыбающийся
Жесть.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #61 : Июль 19, 2013, 13:21 »

Как только вы выучите С++ у вас сразу все упроститься. Улыбающийся
Жесть.
Раньше это звучало типа
Цитировать
учение Маркса всесильно потому что оно верно
Улыбающийся
Записан
_Bers
Бывалый
*****
Offline Offline

Сообщений: 486


Просмотр профиля
« Ответ #62 : Июль 20, 2013, 11:10 »

Предлагаю это обсудить. Интересно, какой дизайн вам кажется удобным или что бы вы поменяли.

Это предмет для длительной дискуссии. Смысл обсуждать то, как можно было бы улучшить стандартный механизм?

Именно эти аргументы чаще всего приводятся, и при этом упорно указывается на что-то типа "целой недели". Однако посмотрим хоть на эту тему. Какая неделя? Наоборот, написать свой микро-класс - действительно неск минут. А вот рыскать искать - куда дольше, да и результат наверное хуже. Др дело напр писать свое красно-черное дерево - ну так я таких велосипедов и не предлвгвл.

Рыскать по интернетам приходится только тем, кто ещё не в теме (новички). Все остальные просто знают свой язык программирования.

Новичок, который не знает стандартной библиотеки, не дотягивает даже до джуниора. Ему ещё предстоит многому научится, и многое понять. Но пока он ещё не созрел для работы.

Если сами повелосипедили - не грех и воспользоваться. Но плохо когда готовые решения юзаются без всякой критики/осмысления, только на основании "за меня все сделали".

Поддержка собственных велосипедов - слишком дорогое удовольствие. Это - прямые убытки компании.
Либо вы приносите компании прибыль, либо вы не нужны.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #63 : Июль 20, 2013, 11:18 »

Это предмет для длительной дискуссии. Смысл обсуждать то, как можно было бы улучшить стандартный механизм?
А что есть смысл обсуждать, если не это?
Давайте обсудим, какой интерфейс умных указателей, по вашему мнению, был бы удобней/эффективней.
Вы же про это говорили? В чем было ваше разочарование?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #64 : Июль 20, 2013, 11:55 »

Новичок, который не знает стандартной библиотеки, не дотягивает даже до джуниора. Ему ещё предстоит многому научится, и многое понять. Но пока он ещё не созрел для работы.
Если человек вообще не знаком с std - конечно не созрел. Но беда когда он начинает лепить std где только можно Плачущий Ход мЫшления такого программиста карикатурен, ну примерно так
Цитировать
ага, в std это такая-то ф-ция! Значит это правильно. А все остальное, соответственно - неправильно
Исчезают человеческие имена переменных. Не выделяются ф-ции/методы. Все превращается в сплошное std. Такой код практически невозможно поддерживать, и он рассыпается при первом же изменении задачи. У одних эта заразная болезнь проходит, у других - увы Плачущий

Давайте обсудим, какой интерфейс умных указателей, по вашему мнению, был бы удобней/эффективней.
Есть такое понятие "цена вопроса". На практике эффективней тот умный указатель который пишущий выучил первым или знает лучше - вот и все.

- Qt предлагает свои версии умных указателей. Кстати, а почему не слышим обвинений в велосипедизме?  Улыбающийся
- в бусте наверняка есть своя реализация
- своя реализация будет "не менее умной"  Улыбающийся

Какую хотите - такую и юзайте, объективно все хороши. Вообще все эти разговоры охотно ведутся когдв вопрос решается "как угодно" и речь по существу о паре сэкономленных строк. Но вот как только хоть что-то "выше травы" - куда что девается?   Улыбающийся
Записан
_Bers
Бывалый
*****
Offline Offline

Сообщений: 486


Просмотр профиля
« Ответ #65 : Июль 20, 2013, 13:13 »

А что есть смысл обсуждать, если не это?

Можно сколько угодно рассуждать на тему: "как можно улучшить с++". Но толку от это не будет никакого. Мы ведь не комитетчики.
Толк будет, если обсуждать такие темы, решения которых можно реально применить на практике.



Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #66 : Июль 20, 2013, 13:23 »

Можно сколько угодно рассуждать на тему: "как можно улучшить с++". Но толку от это не будет никакого. Мы ведь не комитетчики.
Толк будет, если обсуждать такие темы, решения которых можно реально применить на практике.
Честно говоря, я сначала подумал, что у вас есть какое-то мнение по этому вопросу...
А С++ можно легко улучшить, написав свои "умные указатели", если они конечно получаться лучше стандартных.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #67 : Июль 20, 2013, 13:31 »

Какую хотите - такую и юзайте, объективно все хороши. Вообще все эти разговоры охотно ведутся когдв вопрос решается "как угодно" и речь по существу о паре сэкономленных строк. Но вот как только хоть что-то "выше травы" - куда что девается?   Улыбающийся
Ну ваше мнение всем известно, все что выше травы пишите только вы. Эта тема это в очередной раз подтверждает.
И человека я спрашивал о другом, но вы же не читаете или не думаете, о чем вы прочитали, а просто отвечаете. Улыбающийся
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #68 : Июль 20, 2013, 14:03 »

А С++ можно легко улучшить, написав свои "умные указатели", если они конечно получаться лучше стандартных.
Возможно мои высказывания разбудили какие-то дремавшие у Вас чувства - и Вы замахнулись было писать аелосипед Улыбающийся Но минутный порыв быстро угас..
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #69 : Июль 20, 2013, 14:09 »

Возможно мои высказывания разбудили какие-то дремавшие у Вас чувства - и Вы замахнулись было писать аелосипед Улыбающийся Но минутный порыв быстро угас..
Какой велосипед, вы сейчас с кем разговариваете? Улыбающийся
Записан
_Bers
Бывалый
*****
Offline Offline

Сообщений: 486


Просмотр профиля
« Ответ #70 : Июль 20, 2013, 15:51 »

Можно сколько угодно рассуждать на тему: "как можно улучшить с++". Но толку от это не будет никакого. Мы ведь не комитетчики.
Толк будет, если обсуждать такие темы, решения которых можно реально применить на практике.
Честно говоря, я сначала подумал, что у вас есть какое-то мнение по этому вопросу...
А С++ можно легко улучшить, написав свои "умные указатели", если они конечно получаться лучше стандартных.


Не просто мнение, а готовое решение. Хотя оно и не до конца соответствует моим ожиданиям.
Механика разрабатывалась в рамках 2003 стандарта языка, когда был выбор: либо буст, либо велосипеды.

Целевая аудитория моего механизма: разного рода библиотеки/приложения, разработчики которых посчитали нерациональным добавлять тяжелую зависимость от boost только ради того, что бы можно было использовать boost::shared_ptr

В настоящие дни, ввиду всеобщей доступности std::shared_ptr мой механизм уже не актуален, даже не смотря на более проработанный дизайн.

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

Этот нюанс сыграл свою роль: у меня на работе действительно рассматривалась возможность использование моего мопеда взамен стандартных.

Но он был признан не готовым. Его реализация была признана не соответствующей требованиям к библиотечным механизмам в рамках 11 стандарта. Мне предложили выполнить рефакторинг, и заменить всю самописную 2003 инфраструктуру для поддержки мета-программирования на аналоги из стандартной библиотеки 11 стандарта.

Если я это сделаю: возможно мой велосипед примет участие в коммерческом проекте.

Ради фана, если есть желание можно обмусолить дизайн этого решения. Но, как я уже писал выше - это тема для длительной дискуссии. И прежде, чем я вступлю в дискуссию по поводу этой темы, я хочу услышать развернутый ответ на два вопроса:

***

Представьте себе на секундочку, что вы работаете с готовым движком. Он предоставляет наружу 3 пользовательских класса:

1. Простая картинка. Можно загрузить картинку с диска, произвести с нею манипуляции (разворот, масштабирование и тп).

2. Последовательность картинок. Что-то вроде контейнера простых картинок, который предоставляет пользователю возможность управления принципом следования кадров:    

Код:
sequence.SetQueue("B...E, R3(B ... E/2)");
//B - begin индекс начального кадра
//E - end   индекс конечного кадра
//R - repeat повторение задания (если не указано сколько раз - повторение до бесконечности)
//через запятую перечисляются задания

//в данном примере:
//сначала проигрывать все кадры от первого до последнего
//затем три раза повторить проигрывание от первого до половины

Последовательность картинок эксплуатирует класс простых картинок для своей деятельности.

3. Класс анимации. Что-то вроде обертки над классом последовательности картинок. Анимация умеет плавно и красиво проигрывать покадровый ролик. Она учитывает всевозможные нюансы по работе с движком: переключение кадров по времени (можно замедлять/ускорять проигрывание покадрового ролика), учитывает и корректно реагирует на возможные рывки фпс, и прочие движковые лаги.

Первый вопрос:

Должны ли разработчики движка предоставить пользователю наружу класс простой картинки, и последовательности кадров?
Или напротив, они должны спрятать эти два класса подальше от пользователя, предоставив ему только класс анимации?

Второй вопрос:

Механизм анимации покрывает область применения простых картинок и последовательности кадров.
Так например: простая картинка - это незапущенная анимация из 1 кадра
Очередь картинок - это незапущенная анимация из нескольких кадров.

Если скрыть от пользователей факт существования простой картинки и очереди, то все пользователи будут работать с одним единственным типом данных - анимация. Если разрешить - пользователям придётся учить и держать в голове целый заоопарк вместо одного.

Что лучше для пользователя:

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

Имейте ввиду: интересует исключительно удобства пользователей движка, а не его разработчиков.



Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #71 : Июль 20, 2013, 16:05 »

_Bers, у меня есть задача о которой Вы говорите. Но пожвлуйста создайте новую тему, там поговорим, эта уже себя исчерпала
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #72 : Июль 20, 2013, 16:09 »

Имейте ввиду: интересует исключительно удобства пользователей движка, а не его разработчиков.
Здесь очень важно понимать, а кто будет пользователем движка. Это скорее вопрос терминологии, кого мы будем называете пользователем:
* разработчик, который будет описывать сами анимации используя движек;
* разработчик, который будет расширять функционал этого движка.
И первый и второй разработчик - это по сути пользователь, только "рычаги" им потребуется разные.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #73 : Июль 20, 2013, 16:20 »

эта уже себя исчерпала
Все... вы окончательно сдались со своим велосипедом? Улыбающийся
Все же уже разжевали, вам осталось почитать про операторы приведения типа, что бы отказаться от get и радостно пользоваться...
Ну и ладно, настоящие программисты не боятся разрушать ресурсы в 100500 местах в одной функции. Подмигивающий
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #74 : Июль 20, 2013, 16:48 »

Все... вы окончательно сдались со своим велосипедом? Улыбающийся
Мои велосипеды всегда при мне, но в данном случае я их особо не продвигал, хотел услышать какие еще есть решения. К сожалению, дело свелось к псевдо-грамотности std - и не без Вашего активного участия Улыбающийся

Давайте лучше обсудим о чем говорит _Bers - только в отдельной теме
Записан
Страниц: 1 ... 3 4 [5] 6   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.127 секунд. Запросов: 23.