Russian Qt Forum
Ноябрь 22, 2024, 23:16
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Программирование
>
С/C++
>
Помогите с умными указателями
Страниц:
1
2
3
[
4
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Помогите с умными указателями (Прочитано 27976 раз)
KrupaKarlo
Гость
Re: Помогите с умными указателями
«
Ответ #45 :
Сентябрь 01, 2015, 15:21 »
Цитата из самого первого поста
Цитата: Fregloin от Май 07, 2015, 14:57
Привет. Так уж довелось что за время работы с с++ умными указателями практически не пользовался.
А тут решил перевести свой код на их использование. Возникла проблема понимания QSharedPointer и QWeakPointer.
Опишу проблему и надеюсь услышать советы по оптимизации.
Где здесь слова про TDD и тд и тп
Записан
KrupaKarlo
Гость
Re: Помогите с умными указателями
«
Ответ #46 :
Сентябрь 01, 2015, 15:23 »
Прошу прощения, но вы всю тему тупо оффтопите.
Записан
Tuxford
Гость
Re: Помогите с умными указателями
«
Ответ #47 :
Сентябрь 01, 2015, 16:36 »
Цитата: KrupaKarlo от Сентябрь 01, 2015, 15:21
Цитата из самого первого поста
Цитата: Fregloin от Май 07, 2015, 14:57
Привет. Так уж довелось что за время работы с с++ умными указателями практически не пользовался.
А тут решил перевести свой код на их использование. Возникла проблема понимания QSharedPointer и QWeakPointer.
Опишу проблему и надеюсь услышать советы по оптимизации.
Где здесь слова про TDD и тд и тп
http://www.prog.org.ru/index.php?topic=28871.msg213488#msg213488
И мое следующее сообщение.
Записан
KrupaKarlo
Гость
Re: Помогите с умными указателями
«
Ответ #48 :
Сентябрь 02, 2015, 15:24 »
я спрашиваю где TDD в теме сообщения. То что вы ходите поговорить про TDD и то что вы понимаете что это такое мы поняли из 4 страниц флуда.
Записан
Tuxford
Гость
Re: Помогите с умными указателями
«
Ответ #49 :
Сентябрь 02, 2015, 16:12 »
Цитата: KrupaKarlo от Сентябрь 02, 2015, 15:24
я спрашиваю где TDD в теме сообщения. То что вы ходите поговорить про TDD и то что вы понимаете что это такое мы поняли из 4 страниц флуда.
Чукча не читатель, чукча писатель:
http://www.prog.org.ru/index.php?topic=28871.msg213580#msg213580
Записан
_Bers
Бывалый
Offline
Сообщений: 486
Re: Помогите с умными указателями
«
Ответ #50 :
Сентябрь 03, 2015, 21:19 »
Цитата: Tuxford от Сентябрь 01, 2015, 12:32
Такое требование кастомера. Еще вопросы будут?
вопрос на самом деле только один: что это за хрень, и как с нею работать?
представьте себе, что я даю вам механизм, который загрузит файл.
но вам он его не отдаст.
и вы никак до него не дотянетесь.
закономерный вопрос: нахрена вам вообще нужен такой механизм?
каким образом и какие ваши потребности такой механизм может удовлетворить?
у вас сложность тупо в том, что вы не в состоянии объяснить дизайн использования.
Записан
_Bers
Бывалый
Offline
Сообщений: 486
Re: Помогите с умными указателями
«
Ответ #51 :
Сентябрь 03, 2015, 21:23 »
Цитата: Tuxford от Сентябрь 01, 2015, 12:32
Скажем так. Передать по ссылке не получится. Если через указатель, то получаем снова никому ненужное копирование. Так как надо выделить блок и скопировать туда данные. Через одно место. Все это в архитектуре все это было учтено.
ваш собственный тест, который вы итоге родили с таким трудном опровергает это утверждение.
Цитата: Tuxford от Сентябрь 01, 2015, 12:32
Если так подходить как предлагаете, то мы возвратимся к процедурному программированию времен Паскаля. Даже не С.
я не предлагаю возвращаться к процедурному стилю.
я предложил подумать думать головой:
что вы хотите получить в итоге, и для чего.
Записан
Tuxford
Гость
Re: Помогите с умными указателями
«
Ответ #52 :
Сентябрь 04, 2015, 10:24 »
Цитата: _Bers от Сентябрь 03, 2015, 21:19
Цитата: Tuxford от Сентябрь 01, 2015, 12:32
Такое требование кастомера. Еще вопросы будут?
вопрос на самом деле только один: что это за хрень, и как с нею работать?
представьте себе, что я даю вам механизм, который загрузит файл.
но вам он его не отдаст.
и вы никак до него не дотянетесь.
закономерный вопрос: нахрена вам вообще нужен такой механизм?
каким образом и какие ваши потребности такой механизм может удовлетворить?
у вас сложность тупо в том, что вы не в состоянии объяснить дизайн использования.
Начну с того что если вы думаете что заказчик глупый, то вы дурак в квадрате. Все требования заказчика чем-то определены и логичны. За 15 лет работы не встречал ни одного такого. Я не собираюсь доказывать что это верно.
В данному случае, поскольку это либа, то лишные данные не должны торчать в внешний мир. Вполне логично.
Если на то, мы слишком увлеклись от вопроса.
Или mock для синглтона, или ффсад. Все.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Помогите с умными указателями
«
Ответ #53 :
Сентябрь 04, 2015, 10:37 »
Цитата: Tuxford от Сентябрь 01, 2015, 12:24
..11й раз повторяю: ...
...Объясняю 12й раз. ..
...Если вы не бывали в такой ситуации, значит или пока что ваш уровень джуниор и не выше.
...
Поймите что с таким подходом "залупистого сеньора" Вам доказать ничего не удастся (даже если предположить что объективно Вы 1000% правы)
Цитата: Tuxford от Сентябрь 01, 2015, 12:24
Проблема в том что синглтон Mock'ать никак не получится. Еще не дошло?
Нет, не дошло. Вероятно (ну это я только предполагаю) Вы исходите из правила типа "тестирование должно проверять ЭТОТ - и только ЭТОТ класс (или файл)". Тогда видна какая-то логика - ведь синглтон "извне". Но накручивание "фабрики с явной инициализацией" по меньшей мере не выглядит естественным - ведь все равно Вы чем-то управляете за рамками тестируемого класса.
Но это лишь мои догадки, а разговаривать "на понтах" желания у меня никакого, больше встревать не буду
Записан
Tuxford
Гость
Re: Помогите с умными указателями
«
Ответ #54 :
Сентябрь 04, 2015, 11:22 »
Цитата: Igors от Сентябрь 04, 2015, 10:37
Цитата: Tuxford от Сентябрь 01, 2015, 12:24
..11й раз повторяю: ...
...Объясняю 12й раз. ..
...Если вы не бывали в такой ситуации, значит или пока что ваш уровень джуниор и не выше.
...
Поймите что с таким подходом "залупистого сеньора" Вам доказать ничего не удастся (даже если предположить что объективно Вы 1000% правы)
Если кое-кто читать так и не научился, то как еще сказать? На истину последней инстанции не претендую.
Цитата: Igors от Сентябрь 04, 2015, 10:37
Цитата: Tuxford от Сентябрь 01, 2015, 12:24
Проблема в том что синглтон Mock'ать никак не получится. Еще не дошло?
Нет, не дошло. Вероятно (ну это я только предполагаю) Вы исходите из правила типа "тестирование должно проверять ЭТОТ - и только ЭТОТ класс (или файл)". Тогда видна какая-то логика - ведь синглтон "извне". Но накручивание "фабрики с явной инициализацией" по меньшей мере не выглядит естественным - ведь все равно Вы чем-то управляете за рамками тестируемого класса.
Но это лишь мои догадки, а разговаривать "на понтах" желания у меня никакого, больше встревать не буду
Задание очень просто. Есть кое-какая какая реализация. Там есть серьезные ограничение. Всем понятно, что если этот жирный объект сделать синглтоном, то без придется каждого програмера обеспечивать физическим устройством. Вариант решения: мок. Вот и предлагается написать мокс для тестирования. _Bers предалагает полностью переколбасить архитектуру. При этом заиметь потенциальные проблемы, которые порождает синглтон. И всо потому что у него никогда не было проблем с синглтонами. А у меня были. И что? Может уже пора в конце концов сказать, что не получится такое и прекратить рассказывать что архитектура плохая и заказчик дурак?
Записан
_Bers
Бывалый
Offline
Сообщений: 486
Re: Помогите с умными указателями
«
Ответ #55 :
Сентябрь 04, 2015, 19:56 »
Цитата: Tuxford от Сентябрь 04, 2015, 10:24
Начну с того что если вы думаете что заказчик глупый, то вы дурак в квадрате.
на моей памяти даже самый наивный заказчик был в состоянии объяснить, чего он собственно хочет.
в отличие от вас.
Записан
Tuxford
Гость
Re: Помогите с умными указателями
«
Ответ #56 :
Сентябрь 07, 2015, 11:25 »
Цитата: _Bers от Сентябрь 04, 2015, 19:56
Цитата: Tuxford от Сентябрь 04, 2015, 10:24
Начну с того что если вы думаете что заказчик глупый, то вы дурак в квадрате.
на моей памяти даже самый наивный заказчик был в состоянии объяснить, чего он собственно хочет.
в отличие от вас.
Заказчику во многих случаях больше не надо. Он платит деньги, и за эти ему нужен продукт, а не то что какой то программер Вася себе надумал, что так будет лучше. Там где я начинал история была вообще интересная. Надо было сделать програмулину для управления антенной. Программеры забабахали супер мега интерерфейс на Стингрее, все красиво все работает. Но когда дело дошло до приемки, оказалось что комп тупо не вытягивает эту прогу. Тупит, по таймингам все слетает. Поменять комп нет возможности. Точнее это очень дорого. Все идет в одном комплекте. Второй пункт, для поверки нужно была возможность ручного управления. То есть, выставить углы в программе вручную и вывести в это положение. Такой возможности нет. Что делать заказчику? Он этим идиотам заплатил, они сделали какую-то хрень. Половина требование казалась не ясным и были проигнорированы. Заказчик не был в курсе что-такое С++, Stingray и прочее. Ему нахер это нужно. А программеры всен гнали - он дурак и ничего не понимает. И вот таких програмеров целые стада.
Еще был весьма интересный случай. Когда-то работал с одним немцем. Изначально казался странным. Но его отличие, что он был как бы посредником между конечным заказчиком и нами. Деньги платил нам. Показал в результате что нам что через год надо от нас. Все разрисовал красиво. Вот проблема требования нечеткие, можно сказать совсем нет. Кое-что, возможно во время работы уберут, а что-то добавят. Главная фишка - делать будем по недельным итерациям. Какой то идиот, сам не знает что делать, а нам что-то рассказывает что должно быть. - Размышляли некоторые, правда через год были уволены по результатам работы. Некоторые же до сих пор считают Agile плохой практикой.
Вот первая итерация. Такс. Вот вам железо будущего контролера. Надо сделать так, чтобы оно с командной строки можно было считать значение со счетчика. - Дурной таск, сказали некоторые.
Вот первая итерация. Прикрутите Poco и создайте бандл. Через него все это делайте. И так дальше. Те же товарищи начали кричать, он что совсем дебил раз предлагает С++ фреймворк на встроенную осю?
И так далее. До самого конца года вечно все не так. Но! Деньги он платить! Ваше дело делать! В итоге не смотря на зложилателей, все получилось.
Теперь у меня вопрос: кто в данном случае был дураком?
Записан
Страниц:
1
2
3
[
4
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...