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

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

Страниц: 1 2 3 [4]   Вниз
  Печать  
Автор Тема: Помогите с умными указателями  (Прочитано 27999 раз)
KrupaKarlo
Гость
« Ответ #45 : Сентябрь 01, 2015, 15:21 »

Цитата из самого первого поста
Привет. Так уж довелось что за время работы с с++ умными указателями практически не пользовался.
А тут решил перевести свой код на их использование. Возникла проблема понимания QSharedPointer и QWeakPointer.

Опишу проблему и надеюсь услышать советы по оптимизации.

Где здесь слова про TDD и тд и тп
Записан
KrupaKarlo
Гость
« Ответ #46 : Сентябрь 01, 2015, 15:23 »

Прошу прощения, но вы всю тему тупо оффтопите.
Записан
Tuxford
Гость
« Ответ #47 : Сентябрь 01, 2015, 16:36 »

Цитата из самого первого поста
Привет. Так уж довелось что за время работы с с++ умными указателями практически не пользовался.
А тут решил перевести свой код на их использование. Возникла проблема понимания QSharedPointer и QWeakPointer.

Опишу проблему и надеюсь услышать советы по оптимизации.

Где здесь слова про TDD и тд и тп
http://www.prog.org.ru/index.php?topic=28871.msg213488#msg213488
И мое следующее сообщение.
Записан
KrupaKarlo
Гость
« Ответ #48 : Сентябрь 02, 2015, 15:24 »

я спрашиваю где TDD в теме сообщения. То что вы ходите поговорить про TDD и то что вы понимаете что это такое мы поняли из 4 страниц флуда.
Записан
Tuxford
Гость
« Ответ #49 : Сентябрь 02, 2015, 16:12 »

я спрашиваю где TDD в теме сообщения. То что вы ходите поговорить про TDD и то что вы понимаете что это такое мы поняли из 4 страниц флуда.
Чукча не читатель, чукча писатель: http://www.prog.org.ru/index.php?topic=28871.msg213580#msg213580
Записан
_Bers
Бывалый
*****
Offline Offline

Сообщений: 486


Просмотр профиля
« Ответ #50 : Сентябрь 03, 2015, 21:19 »

Такое требование кастомера. Еще вопросы будут?

вопрос на самом деле только один: что это за хрень, и как с нею работать?

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

закономерный вопрос: нахрена вам вообще нужен такой механизм?

каким образом и какие ваши потребности такой механизм может удовлетворить?

у вас сложность тупо в том, что вы не в состоянии объяснить дизайн использования.

Записан
_Bers
Бывалый
*****
Offline Offline

Сообщений: 486


Просмотр профиля
« Ответ #51 : Сентябрь 03, 2015, 21:23 »

Скажем так. Передать по ссылке не получится. Если через указатель, то получаем снова никому ненужное копирование. Так как надо выделить блок и скопировать туда данные. Через одно место. Все это в архитектуре все это было учтено.

ваш собственный тест, который вы итоге родили с таким трудном опровергает это утверждение.

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

я не предлагаю возвращаться к процедурному стилю.
я предложил подумать думать головой:
что вы хотите получить в итоге, и для чего.
Записан
Tuxford
Гость
« Ответ #52 : Сентябрь 04, 2015, 10:24 »

Такое требование кастомера. Еще вопросы будут?

вопрос на самом деле только один: что это за хрень, и как с нею работать?

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

закономерный вопрос: нахрена вам вообще нужен такой механизм?

каким образом и какие ваши потребности такой механизм может удовлетворить?

у вас сложность тупо в том, что вы не в состоянии объяснить дизайн использования.


Начну с того что если вы думаете что заказчик глупый, то вы дурак в квадрате. Все требования заказчика чем-то определены и логичны. За 15 лет работы не встречал ни одного такого. Я не собираюсь доказывать что это верно.
В данному случае, поскольку это либа, то лишные данные не должны торчать в внешний мир. Вполне логично.
Если на то, мы слишком увлеклись от вопроса.

Или mock для синглтона, или ффсад. Все.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #53 : Сентябрь 04, 2015, 10:37 »

..11й раз повторяю: ...
...Объясняю 12й раз. ..
...Если вы не бывали в такой ситуации, значит или пока что ваш уровень джуниор и не выше.
...
Поймите что с таким подходом "залупистого сеньора" Вам доказать ничего не удастся (даже если предположить что объективно Вы 1000% правы)

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

Но это лишь мои догадки, а разговаривать "на понтах" желания у меня никакого, больше встревать не буду  Улыбающийся
Записан
Tuxford
Гость
« Ответ #54 : Сентябрь 04, 2015, 11:22 »

..11й раз повторяю: ...
...Объясняю 12й раз. ..
...Если вы не бывали в такой ситуации, значит или пока что ваш уровень джуниор и не выше.
...
Поймите что с таким подходом "залупистого сеньора" Вам доказать ничего не удастся (даже если предположить что объективно Вы 1000% правы)
Если кое-кто читать так и не научился, то как еще сказать? На истину последней инстанции не претендую.

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

Но это лишь мои догадки, а разговаривать "на понтах" желания у меня никакого, больше встревать не буду  Улыбающийся
Задание очень просто. Есть кое-какая какая реализация. Там есть серьезные ограничение. Всем понятно, что если этот жирный объект сделать синглтоном, то без придется каждого програмера обеспечивать физическим устройством. Вариант решения: мок. Вот и предлагается написать мокс для тестирования. _Bers предалагает полностью переколбасить архитектуру. При этом заиметь потенциальные проблемы, которые порождает синглтон. И всо потому что у него никогда не было проблем с синглтонами. А у меня были. И что? Может уже пора в конце концов сказать, что не получится такое и прекратить рассказывать что архитектура плохая и заказчик дурак?
Записан
_Bers
Бывалый
*****
Offline Offline

Сообщений: 486


Просмотр профиля
« Ответ #55 : Сентябрь 04, 2015, 19:56 »

Начну с того что если вы думаете что заказчик глупый, то вы дурак в квадрате.

на моей памяти даже самый наивный заказчик был в состоянии объяснить, чего он собственно хочет.
в отличие от вас.
Записан
Tuxford
Гость
« Ответ #56 : Сентябрь 07, 2015, 11:25 »

Начну с того что если вы думаете что заказчик глупый, то вы дурак в квадрате.

на моей памяти даже самый наивный заказчик был в состоянии объяснить, чего он собственно хочет.
в отличие от вас.

Заказчику во многих случаях больше не надо. Он платит деньги, и за эти ему нужен продукт, а не то что какой то программер Вася себе надумал, что так будет лучше. Там где я начинал история была вообще интересная. Надо было сделать програмулину для управления антенной. Программеры забабахали супер мега интерерфейс на Стингрее, все красиво все работает. Но когда дело дошло до приемки, оказалось что комп тупо не вытягивает эту прогу. Тупит, по таймингам все слетает. Поменять комп нет возможности. Точнее это очень дорого. Все идет в одном комплекте. Второй пункт, для поверки нужно была возможность ручного управления. То есть, выставить углы в программе вручную и вывести в это положение. Такой возможности нет. Что делать заказчику? Он этим идиотам заплатил, они сделали какую-то хрень. Половина требование казалась не ясным и были проигнорированы. Заказчик не был в курсе что-такое С++, Stingray и прочее. Ему нахер это нужно. А программеры всен гнали - он дурак и ничего не понимает. И вот таких програмеров целые стада.

Еще был весьма интересный случай. Когда-то работал с одним немцем. Изначально казался странным. Но его отличие, что он был как бы посредником между конечным заказчиком и нами. Деньги платил нам. Показал в результате что нам что через год надо от нас. Все разрисовал красиво. Вот проблема требования нечеткие, можно сказать совсем нет. Кое-что, возможно во время работы уберут, а что-то добавят. Главная фишка - делать будем по недельным итерациям. Какой то идиот, сам не знает что делать, а нам что-то рассказывает что должно быть. - Размышляли некоторые, правда через год были уволены по результатам работы. Некоторые же до сих пор считают Agile плохой практикой.
Вот первая итерация. Такс. Вот вам железо будущего контролера. Надо сделать так, чтобы оно с командной строки можно было считать значение со счетчика. - Дурной таск, сказали некоторые.
Вот первая итерация. Прикрутите Poco и создайте бандл. Через него все это делайте. И так дальше. Те же товарищи начали кричать, он что совсем дебил раз предлагает С++ фреймворк на встроенную осю?
И так далее. До самого конца года вечно все не так. Но! Деньги он платить! Ваше дело делать! В итоге не смотря на зложилателей, все получилось.
Теперь у меня вопрос: кто в данном случае был дураком?

Записан
Страниц: 1 2 3 [4]   Вверх
  Печать  
 
Перейти в:  


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