09.08.2007, 17:41 | #41 |
Moderator
|
Цитата:
Вот так всегда...
На самом интересном месте выясняется, что не Иван Иванович, а Петр Петрович не в среду, а в понедельник, и не продал, а купил... Цитата:
Какого черта беспокоится о юзабилити, если "Пользователи вообще ничего не увидят"?
|
|
09.08.2007, 17:43 | #42 |
Участник
|
Цитата:
В коде был использован ReportId. |
|
09.08.2007, 17:43 | #43 |
Moderator
|
Цитата:
Угу. И в пакетном режиме тоже не работает
Цитата:
А он еще и не работает?
А как же 20 минут? |
|
09.08.2007, 17:44 | #44 |
Moderator
|
Цитата:
В коде был использован ReportId.
Короче, один reportId обрабатывается только один раз. Второй раз будет уже другой reportId. |
|
09.08.2007, 17:49 | #45 |
Участник
|
Цитата:
что-то уж очень ограниченная область применения получается. нафих-нафих. |
|
09.08.2007, 17:53 | #46 |
Moderator
|
Цитата:
Т.е. вызывающий метод еще и идентификатор уникальный должен сгенерить...
что-то уж очень ограниченная область применения получается. нафих-нафих. Для отображения прогресс бара ничего генерить не надо. Если это требуется для логики операции - то пож-та. |
|
09.08.2007, 17:54 | #47 |
злыдень
|
Камешек в стандартный пргресс-бар:
Тормозит ли градусник? Цитата:
Цитата:
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
09.08.2007, 17:57 | #48 |
Member
|
В общем это... о вкусах не спорят. Главное, чтобы мы не поссорились из-за пустяков.
Цитата:
Сообщение от Андре
...
Есть последовательность длительных невложенных операций, которые выполняются при запуске пользователем некой периодической операции. ... Сразу предупреждаю, что мнение у меня нетрадиционное и встречаемое многими с агрессией. В моем представлении "длительная операция" — это минуты хотябы две-три. Пользователь, который регулярно или хотябы время от времени сидит тупо перед монитором и смотрит кино под названием "Красивый прогресс-бар"... он либо работает по принципу "работа не волк — в лес не убежит" (т.е. вредитель с т.з. бизнеса), либо пенсионер, который уже все в жизни успел сделать, либо ... (я промолчу). В общем, в сервер пакетной обработки нужно такие задачи с инфологом и уведомлением об успешной обработке, а не прогресс-бары для них рисовать красивые. Такое вот мое IMHO.
__________________
С уважением, glibs® |
|
|
За это сообщение автора поблагодарили: mazzy (5). |
09.08.2007, 17:58 | #49 |
Участник
|
К стандартному - не относится.
К самодельному - очень даже. Цитата:
Цитата:
Сообщение от Recoilme
Камешек в стандартный пргресс-бар:
Тормозит ли градусник? Стандартный прогресс выполняет кучу телодвижений по обсчетам на каждую итерацию, особенно это заметно при выводе settext. И плевать он хотел на апдейт интервал. Разница в быстродействии при вызове settext и без него - в разы. Не хотите использовать - не используйте. В общем, ясно. Андре, спасибо за интересное обсуждение. |
|
09.08.2007, 18:00 | #50 |
Гость
|
1. Если делается для бухгалтеров (да и любых других конечных пользователей), то логи и проценты завершения ошибочное завершение исправить не помогут. Все равно программера вызывать. А ему это не надо.
2. Т.к. полезность информационной составляющей сомнительна, остается только "успокаивающая составляющая". А она в стандарте есть. 3. 1% ситуаций, в котором используется новый прогрессбар приведет к постоянному дерганию программиста "сделайте нам красивенькое окошечко сообщений" в остальных 99%... Оно Вам надо? |
|
09.08.2007, 18:06 | #51 |
Moderator
|
Цитата:
Как это не надо, если у тебя внутри запрос по этому идентификатру идет.
X++: for (int i=0; i<=1000; i++) progress.nextStep(); Цитата:
Андре, спасибо за интересное обсуждение.
|
|
09.08.2007, 18:13 | #52 |
Участник
|
Вот проект.
Содержит немного доработанные куски кода Андре. Job для демонстрации возможностей (кстати, для Маззи туда впихнул стандартный прогресс бар еще - именно так и работает все при установке Оракла, или СКЛ сервера) Класс для тестирования - правда здесь только быстродействие. Трафик клиент/сервер нету времени пока, попозже может еще потестю. Мои результаты - самописный вариант быстрее. Правда я использовал неоптимизированные методы стандартного класса. С ними стандартный, думаю, выиграл бы. И, специально для Сергея - да, класс не работает без GUI, и у него куча недостатков. Но как идея мне нравится. Доразвить его просто нужно И опять же - это не замена стандартного прогресс бара, а просто его дополнение. И как видно из демонстрационного примера, они вполне могут сосуществовать. |
|
|
За это сообщение автора поблагодарили: Андре (5). |
09.08.2007, 18:26 | #53 |
Участник
|
Потому что проще.
Код проще в разы. Эффект на сервере 11.75/13.6 = 86%. Эффект на клиенте 19.22/26.19 = 73% Т.е. ускорение на 15%-30%. За счет неуниверсальности, небезопасности и кучи потраченного времени программиста. Я чего? Против что-ли? |
|
09.08.2007, 18:32 | #54 |
Участник
|
Не. Категорически не согласен.
SetText для стандартного делается ВНУТРИ цикла, а для самописного ЗА циклом. AndyD говорил о тормознутости самого java-кода и работы со строками. Какие проблемы у SysOperationProgress? В данном случае начинает работать этот аспект. |
|
09.08.2007, 18:33 | #55 |
Участник
|
Цитата:
безопасность надо бы, конечно, довинтить, кому нужно будет, сделает. А вот про вермя программиста несогласен. Я сделал интерфейсный класс. Поэтому использовать даже проще, чем стандартный. И код метода doTestStandartProgressbar на пару строк больше,чем код метода doTest так что спорно. Единственное, что требовалось время, чтобы изначально это все написать. Но раз уже написано, почему бы не пользоваться. Может и нет. Но выглядит все так, как будто да |
|
09.08.2007, 18:38 | #56 |
Участник
|
Вот результаты, если вынести setText за циклы.
Правда, справедливости ради, стоит заметить, что у стандартного прогресс бара интервал обновления больше (то есть реже обновляется) |
|
09.08.2007, 18:39 | #57 |
Участник
|
Цитата:
Не давай ты своему начальнику втирать про пару строк будешь? Мне не надо. |
|
09.08.2007, 18:41 | #58 |
Участник
|
Цитата:
А работа программиста не усложняется. Вот я о чем |
|
09.08.2007, 18:46 | #59 |
Участник
|
Во! Это похоже на правду.
Цитата:
Т.е. программист: 1. затратил время 2. сделал менее универсальный, менее безопасный код 3. сделал менее быстрый код 4. вдобавок не подумал о параметрах по умолчанию. Опять же ничего не имею против конкретного Андре. Он действительно сделал интересную штуку. За это ему огромное спасибо. Я хочу сказать о подходе. Если есть стандартный функционал, то его НАДО знать, а не выкидывать со словами "ща мы тут за 20 минут на коленке наваяем". |
|
09.08.2007, 19:19 | #60 |
Участник
|
Цитата:
Но суть проблемы в том, что в данном случае задача повышения юзабилити решается за счет тотального переписывания. Зачем выкидывать ядро стандартного прогресс-бара? Почему не переделать только уровень представления/отображения? Ведь в стандартном прогресс-баре все представление-отображение СПЕЦИАЛЬНО собрано в одном месте в классе SysOperationProgressForm. СПЕЦИАЛЬНО форма болванка нарисована - SysOperationProgress. Дык, ведь нет. Выкидывается ВЕСЬ код, чтобы СОЗДАТЬ аналогичный, только хуже. Грустно |
|
|
За это сообщение автора поблагодарили: glibs (5). |