|
|
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
softwarerОписывая такое вот "плоское программирование", Вы практически говорите о повседневном труде кодеров. ... но с моей точки зрения, реально стоит задача "подкидывать людям интересные задачки, иначе они огорчатся, будут плохо работать и в конце концов уйдут". И эти задачки - какие-то куски проектирования. Я бы назвал это не "плоским", а "реальным" программированием. Думаю никто не станет спорить, что именно так и обстоят дела в проектах занимающихся поддержкой или развитием существующих программных систем, и что таких проектов - большинство. Опять же, каков процент "студентов" среди общего числа разработчиков и какие "куски проектирования" им можно давать? :) Предлагаю так же, не делать тождества между "наследованием" и "проектированием". Я об этом не говорил. Использовать наследование или нет - это только один из многих вопросов, которые нужно решать при проектировании. Поэтому если перед человеком не встают задачи, где требуется что-нибудь в четыре этажа отнаследовать - это не обязательно значит, что он неспособный на творческую деятельность "кодер" - просто такова специфика большинства решаемых задач. Конечно, можно утверждать, что я не прав, потому что в той-то и той-то конторе (в хорошем смысле этого слова), пишут такой-то и такой-то классный софт (да ещё и с нуля) и что там работают только люди с немерянным опытом, способные с закрытыми глазами печатать килобайты хорошо спроектированных классов и т.д. и т.п.. Ну что ж. Рад если такое бывает :) Однако, пока у нас не начнут готовить соответствующих специалистов в профильных учебных заведениях, такие story будут единичными исключениями подтверждающими правило. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 17:44:01 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsДумаю никто не станет спорить, что именно так и обстоят дела в проектах занимающихся поддержкой или развитием существующих программных систем, и что таких проектов - большинство. Это слишком обширный класс задач, чтобы загонять его в столь узкие рамки, имхо. По моему опыту, "направление решения" и "вид результата" прежде всего определяется тем, кто именно решает задачу, и уже во вторую очередь - тем, какая именно задача решается. NotGonnaGetUsОпять же, каков процент "студентов" среди общего числа разработчиков и какие "куски проектирования" им можно давать? :) Это непростой вопрос. У многих "студентов" присутствует неподтвержденно высокое мнение о своих возможностях, соответственно желание взять большой кусок задачи...... некоторые таки его неплохо делают :) Я бы сказал - в первую очередь давать "не очень важный кусок". Большой, если нужно, но такой, чтобы из-за его отсутствия или необходимости переделки не пострадали другие задачи. Ну а дальше - вопрос не столько в том, "какие куски давать", сколько "насколько плотно и тщательно при этом контролировать". NotGonnaGetUsПредлагаю так же, не делать тождества между "наследованием" и "проектированием". Безусловно, не следует. Я в данном случае употребил проектирование исключительно как стадию, в ходе которой возникает желание отнаследовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 18:03:46 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
softwarerПо моему опыту, "направление решения" и "вид результата" прежде всего определяется тем, кто именно решает задачу, и уже во вторую очередь - тем, какая именно задача решается. Т.е. с оценкой 90% на 10% вы категорически не согласны? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 18:10:06 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsТ.е. с оценкой 90% на 10% вы категорически не согласны? :) Я полагаю, что дисперсия этой оценки делает ее бессмысленной. Грубо говоря, есть люди, у которых будет 100/0, а есть люди, у которых будет 60/40. Для одних и тех же задач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 18:23:19 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
softwarerЯ полагаю, что дисперсия этой оценки делает ее бессмысленной. Грубо говоря, есть люди, у которых будет 100/0, а есть люди, у которых будет 60/40. Для одних и тех же задач. Мы опять о несколько разном говорим. Я считают программистов, которые решают задачи с применением очень ограниченных техник наследования и программистов, которым этих техник недостаточно, по причине сложности решаемых задач. Примем в первом приближении, что глядя на задачу можно объективно оценить к какому из двух классов она принадлежит и что программисты решают каждую из этих задач надлежащим образом (не суют наследование туда, куда не нужно и используют там - где нужно). Моё имхо, что отношение получится 90/10, из чего я делаю вывод, что среди людей обсуждающих наследование, и в особенности МН, преобладают люди не имевшие возможности на практике проверить истинность своих теорий. Вы предлагаете посмотреть на то, как одни и теже задачи решают разные программисты и делаете вывод, что количество наследование в результате зависит в некоторой степени от программиста, а не задач. Соглашусь, что это действительно так. Но этот факт был мною ингорирован в первом приближении (см.выше), т.к. мне кажется очень вероятным значительное пересечение множества программистов склонных к более частому использованию наследования с множеством программистов решающих задачи действительно требующих применение наследования :) Естественно серьёзно относиться к конкретным цифрам нельзя, т.к. для этого не собрано никакой сколько-нибудь объективной статистики. Тем не менее, порядок величин - 90/10, 80/20 - выглядит достаточно похожим на правду... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 19:22:47 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsПримем в первом приближении, что глядя на задачу можно объективно оценить к какому из двух классов она принадлежит Именно это приближение я не готов принять. Точнее, я безусловно способен "объективно оценить" со своей колокольни, но абсолютно уверен в том, что при статистически значимой выборке оценивающих мы получим прорву других объективных оценок. При этом поставить эксперимент "чьи оценки в итоге окажутся точнее" весьма затруднительно. Мало того, я полагаю, что тут есть определенная вариативность, и там, где для себя я выбрал бы вариант А, другому человеку я сам бы сказал: знаешь.... делай лучше Б. NotGonnaGetUsМоё имхо, что отношение получится 90/10, из чего я делаю вывод, что среди людей обсуждающих наследование, и в особенности МН, преобладают люди не имевшие возможности на практике проверить истинность своих теорий. Я существенно более оптимистичен. По нескольким причинам, из которых в первую очередь назову следующую: даже того, что Вы отнесли к 90%, на самом деле хватает, чтобы сделать многие верные выводы. Не обязательно учиться на собственных ошибках. NotGonnaGetUsт.к. мне кажется очень вероятным значительное пересечение множества программистов склонных к более частому использованию наследования с множеством программистов решающих задачи действительно требующих применение наследования :) Помимо прочего, я уверен в существовании широкого класса пограничных задач, то есть тех, для которых нельзя выбрать однозначно лучший вариант решения. Однозначно лучший - в смысле "компетентные эксперты единодушно выскажутся за этот вариант". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 21:59:55 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
Что вы тут спорите? Ваще не понимаю. Надо б вначале научить людей мыслить в терминах ООП... без МН. а не кодить процедурно. грязно плююсь от текущего колупания в лапше из if'ов и switch'ей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 11:33:49 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
TimmНадо б вначале научить людей мыслить в терминах ООП... без МН. а не кодить процедурно. Для начала хорошо бы понимать, что ООП - это синтаксис, ничего нового в мышление оно не вносит. Ровно как break - удобный синтаксис записи частного случая goto, так и допустим виртуальный метод - удобный синтаксис записи частного случая указателя на функцию. Человек либо умеет выбирать адекватное решение - и выбирает его безотносительно ООП - либо не умеет, и получаем - Timmгрязно плююсь от текущего колупания в лапше из if'ов и switch'ей Именно что. Лапшу можно делать из ASSIGNABLE GOTO (была такая прелестная форма этого оператора), можно из ифоф и свитчей (я как-то на спор написал фрагмент программного кода в стиле "классическое спагетти", пользуюясь только и исключительно "структурными" if и while), ну а последние лет десять я периодически ругаюсь словами "объектно-ориентированное спагетти". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 11:48:35 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
softwarer NotGonnaGetUsПримем в первом приближении, что глядя на задачу можно объективно оценить к какому из двух классов она принадлежит Именно это приближение я не готов принять. Ок. Ваше имхо построенное на личном опыте против аналогичного моего :) softwarer По нескольким причинам, из которых в первую очередь назову следующую: даже того, что Вы отнесли к 90%, на самом деле хватает, чтобы сделать многие верные выводы. Ну да. Этого хватает, чтобы корректно решаеть многие задачи, но не хватает, чтобы осмысленно рассуждать о наследовании самом по себе и множественном наследовании в частности. Вспоминаю топик на другом форуме. Человек утверждал, что наследовать можно что угодно и от чего угодно (например, человека от руки или геометрическую фигуру от точки). При этом ссылки на LSP и т.п. он бодро игнорировал, заявляя, что раз он и никто из его сослуживцев не в курсе данного приниципа, то принимать его во внимание не стоит. softwarer Не обязательно учиться на собственных ошибках. Я бы перефразировал: обязательно нужно учиться на чужих ошибках. Т.е. нужно читать, нужно общаться с коллегами, нужно искать интересные решения в существующем коде. Однако какова массовая доля программистов активно идущих этим путём? :) Или, как пишет Марконелл: "спросите себя - сколько книг по программированию вы прочитали на последние полгода?". softwarerОднозначно лучший - в смысле "компетентные эксперты единодушно выскажутся за этот вариант". А другие компетентные эксперты скажут: "да ну ваше неповоротливое и тяжёловесное ООП в баню. Эрланг рулит" :) И будут в общем-то правы по своему. Но это уже оффтопик :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 11:52:52 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
softwarer[quot Timm]Надо б вначале научить людей мыслить в терминах ООП... без МН. а не кодить процедурно. Для начала хорошо бы понимать, что ООП - это синтаксис, ничего нового в мышление оно не вносит. [quot] ээ. не согласен. категорически. ООП - это не синтаксис. Синтаксис - это язык, в терминах которого человек выражает объедко-ориентированные мысли. о как :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 11:54:57 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
TimmСинтаксис - это язык, в терминах которого человек выражает объедко-ориентированные мысли. о как :) Как называть эти мысли - вопрос имхо десятый. Мне трудно называть "объектно-ориентированными" мысли, которые появились и были известны в семидесятых годах. Главное - понимать то, что есть мысли [сами по себе], есть форма их записи на конкретном языке. К сожалению, большинство авторов книг смешивает эти понятия, создавая разруху в головах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 12:07:26 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
Timm[quot softwarer]ООП - это не синтаксис. Синтаксис - это язык, в терминах которого человек выражает объедко-ориентированные мысли. о как :) В отношнении мыслей ООП - это все-таки синтаксис. Если попытаться провести аналогию с шаблоном MVC, то мысли - это M и C, а объектно-ориентированные мысли - это V. Хотя кто-то со мной может не согласиться. А вообще, я к тому, что все сравнения нужно проводить в пределах одного словаря с набором аксиом, и определения понятиям давать тоже в пределах этого словаря. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 03:48:49 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
Читал, читал решил тоже свою лепту скромну внести. 1. МН - нельзя сказать, что это однозначно плохо (в принципе, ни о чем так сказать нельзя), но все таки я его буду стараться избегать или реализовывать через интерфейсы. Включения его в Java не хочу (хотя кто меня спросит). 2. ООП. Новая идеология или нет. Вирт считает, что нет. В одном из интервью он сказал, что-то вроде того почти Вирт Меня удивляет, когда про инкапсуляцию узнают только при начале работы с ООП. Так, нам в ВУЗе давали эти понятия без использования принципов ООП. Хотя я к тому времени уже знал о нем и видел, что ООП позволяет их очень легко использовать (за что низкий поклон Сульповару из ЛЭТИ). С другой стороны, я все-таки думаю, что думать на ООП можно. Тут получается другой стиль мышления, чем при линейном (так оно называется?) программирование. По крайне мере когда я писал курсовики своим одногруппникам, мне переходилось переключаться на другой стиль мышления (Я практически сразу стал писать с помощью объектов. Кстати, писал на Дельфи, а про объекты узнал из книги на Java. И еще потом лет 6 писал(пишу) на Дельфи). Ну а на счет программистов, которые используют проектирование или нет. Кому что в жизни надо, тот это от жизни и берет. Вряд ли системному программисту, которые пишет встроенное ПО нужно ООП. Они вообще стараются на C писать (по крайне мере у нас, и про Nokia мне так говорили). С другой стороны, если человек хочет стать архитектором - он будет задумываться над архитектурой и искать разные решения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 12:33:41 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
softwarerДля начала хорошо бы понимать, что ООП - это синтаксис, ничего нового в мышление оно не вносит. Атец, знаешь, с таким пониманием вопроса тебе не программистом надо быть, а артиллеристом. ООП - это не синтаксис и к синтаксису относится так же как к целлюлиту, т.е. ортогонально. В ОО стиле можно на асме писать и на лиспе, это МЕТОДОЛОГИЯ программирования, а никак уж не синтаксис. Методология, способствующая применению принципа "разделяй и властвуй", способствующая еще больше, чем структурное и процедурное программирование. С ООП идет рука об руку ООД. Объектно-ориентированный дизайн программ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 12:45:16 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
LeonidvС другой стороны, я все-таки думаю, что думать на ООП можно. Тут получается другой стиль мышления, чем при линейном (так оно называется?) программирование. Нет. Линейное программирование - это ну совсем другая тема, к "программированию в нашем смысле" относящаяся опосредованно: http://www.dvo.ru/studio/linpro/lp1st/node3.html "Думать на ООП" в каком-то смысле можно, только это уже как минимум называется ООД. Да и то... впрочем, обсуждая эту тему, неизбежно упремся в понимание терминов? LeonidvПо крайне мере когда я писал курсовики своим одногруппникам, мне переходилось переключаться на другой стиль мышления Ээ... зачем? Не понял, Вы писали себе объектно, а им - нет? Leonidv(Я практически сразу стал писать с помощью объектов. Кстати, писал на Дельфи, а про объекты узнал из книги на Java. И еще потом лет 6 писал(пишу) на Дельфи). Увы, классическая история из серии "учил дельфу по плохой книге". Мне в этом плане повезло, поскольку про объекты я узнал лет за восемь до появления явы. LeonidvНу а на счет программистов, которые используют проектирование или нет. Кому что в жизни надо, тот это от жизни и берет. Вряд ли системному программисту, которые пишет встроенное ПО нужно ООП. Они вообще стараются на C писать Хм. Подумайте еще раз: если ООП - это способ мышления, какая разница, на чем писать? Те идеи, которые ассимилировало ООП, как раз и привели к появлению Паскаля, Си, Ады; собственно, ООП по большому счету выросло из обобщения опыта работы на этих языках. Эти идеи отлично реализуются на ассемблере, на любом интерпретаторе, сугубые проблемы будут лишь на старых компиляторах типа Fortran IV или PL/I. То, что Вы говорите, как раз служит иллюстрацией к "путанице между идеями и синтаксисом", о которой я говорил чуть раньше. Признаться, меня всегда коробит, когда встроенное ПО относят к системному программированию, но это отдельный вопрос. Встроенное ПО бывает достаточно разным, и в нем наверняка можно назвать задачи, в которых ООП вполне применимо, хотя безусловно в большинстве случаев подход "узко и прямо". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 13:27:38 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
softwarer Нет. Линейное программирование - это ну совсем другая тема, к "программированию в нашем смысле" относящаяся опосредованно: http://www.dvo.ru/studio/linpro/lp1st/node3.html Мне так на одном собеседование сказали. О ЛП я даже курсовик в Wolfram Mathematica делал, уже забыл :( softwarer LeonidvПо крайне мере когда я писал курсовики своим одногруппникам, мне переходилось переключаться на другой стиль мышления Ээ... зачем? Не понял, Вы писали себе объектно, а им - нет? Да. Именно так. И меня это немного напрягало вначале. softwarer Увы, классическая история из серии "учил дельфу по плохой книге". Не совсем понял, причем тут конкретный язык и ООП. Но вообще так же как сейчас Java я дельфи не изучал. А книжки у меня хорошие, вроде Марок Канту (?) и "Профессиональное использование D3" - сборник, страниц на 1000. Только это книги не по ООП, а по Delphi. Книги по ООП - это GoF, Фаулер и другие. softwarer Мне в этом плане повезло, поскольку про объекты я узнал лет за восемь до появления явы. Я в это время еще не родился, в 1983 году. softwarer LeonidvНу а на счет программистов, которые используют проектирование или нет. Кому что в жизни надо, тот это от жизни и берет. Вряд ли системному программисту, которые пишет встроенное ПО нужно ООП. Они вообще стараются на C писать Хм. Подумайте еще раз: если ООП - это способ мышления, какая разница, на чем писать? Разница все таки есть, потому как удобнее. Когда передо мной встает задача, я начинаю классы в голове рисовать и их взаимодействие - вот это и подразумеваю "думать на ООП". А уж как их реализовать - дело десятое. Вот мне говорят "матрица" - у меня сразу в голове класс представляется и его контракт. Ну и тому подобное. А все-таки раскройте, что такое системное программирование? Интересно узнать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 14:27:53 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
LeonidvНе совсем понял, причем тут конкретный язык и ООП. Ну вот. Для кого Blazkowicz о properties и hashtable вспоминал? :) Конкретный язык, конкретно влияет на то "ООП", которое в нём используется. Leonidv Когда передо мной встает задача, я начинаю классы в голове рисовать и их взаимодействие - вот это и подразумеваю "думать на ООП". А уж как их реализовать - дело десятое. Вот мне говорят "матрица" - у меня сразу в голове класс представляется и его контракт. Ну и тому подобное. Вспоминается фраза из утреннего шоу бачинского и стилавина: - Ему в голову звёздый десант лезет! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 14:44:18 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs Ну вот. Для кого Blazkowicz о properties и hashtable вспоминал? :) Ну вы же не хотите сказать, что использование наследования вместо композиции там, где ему не место, в Java есть плохо, а в Delphi есть хорошо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 14:52:57 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
Leonidv NotGonnaGetUs Ну вот. Для кого Blazkowicz о properties и hashtable вспоминал? :) Ну вы же не хотите сказать, что использование наследования вместо композиции там, где ему не место, в Java есть плохо, а в Delphi есть хорошо? Я хочу сказать, что использование наследование в данном случае для C++ будет хорошо, а для java плохо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 14:54:49 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
Я не большой специалист по этим вопросам (пока), но мне кажется - что это везде плохо. Как на Java, так на C++, так и на Delphi. По крайне мере когда Блох объясняет это в своей книги, он говорит "вот так делать не надо", а не "на Java так делать не надо". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 14:59:22 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
LeonidvЯ не большой специалист по этим вопросам (пока), но мне кажется - что это везде плохо. Как на Java, так на C++, так и на Delphi. По крайне мере когда Блох объясняет это в своей книги, он говорит "вот так делать не надо", а не "на Java так делать не надо". На Блоха теперь нужно молиться? Он написал одну маленьку книжечку, где на пальцах показал некоторые особенности реализации java библиотек из-за чего стал популярен. При этом он поливал дерьмом всё, что писал не он сам, и хвалил собственные творения (коллекции java2). Возвращаясь в properties. Если бы вы внимательно читали о чём писалось выше, вы бы увидели и слова софтварера и мои, где объявняется почему в java это плохое решение. Ещё раз: в java нет закрытого наследования, т.е. нельзя отнаследоваться и скрыть от публики часть методов родителя. Поэтому приходится изобретать делегирование. Это всё следствия особенностей оо-нотации принятой в java и к ООП имеет мало отношения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 15:11:31 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
А что такое скрытое наследование? Я так понимаю, что если A наследуется от B, то везде где нужен B можно подставить A. Если я правильно понял, то скрытое наследование это правило нарушает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 16:19:05 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
поддерживаю вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 16:27:45 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
и вообще, пользуйте private, а то понимаешь развели семейственность в лучших традициях мафиози - ты мой старший сын, тебе рулить песочницей, а ты сын моего сына, нехрена тебе песочницей рулить :) Для особо рьяных: это была шутка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 16:30:59 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
АСУ ТПшникДля особо рьяных: это была шутка. Специфический птушный юмор? Leonidv А что такое скрытое наследование? Мне повторить абзац из предыдущего сообщения? Остановись на секундочку и подумай: если ты не знаешь, что бывает скрытое наследование, не в курсе того, как могут разрешаться "конфликты" при МН, то как ты можешь говорить о том, что ООП существует вне контекста языка программирования и более того, что ты думаешь именно в его терминах?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 16:48:48 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34075389&tid=2147692]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
202ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 532ms |

| 0 / 0 |
