Сделать примитив Actor
Обратите внимание на RegisterOurShapes.
Тестовое задание такое - на основе СУЩЕСТВУЮЩИХ примитивов наследников от TmsShape надо сделать примитив TmsActor (актёр) ну как в RUP - иконка с человеком, ссылку прислать или найдёте в интернете?
Чтобы этот примитив работал как и все остальные, ну то есть добавлялся/удалялся. Там на самом деле УЖЕ всё сделано. Вся инфраструктура. Вам надо примитив лишь зарегистрировать.
Ну и определить ему метод DoDraw ну и может быть GetDrawBounds.
Наследоваться лучше всего от SVGShape ну или PolygonShape.
Comments (34)
-
reporter -
- changed status to resolved
Примитив создан. Учитывая, что в задании не были оговорены некоторые моменты и дабы не затягивать реализацию тестового задания, были приняты следующие допущения: 1. Стиль кода, именование переменных, отступы и т.д. были использованы "свои", чтобы максимально просто отличать авторов того или иного кода. Если требуется унификация стиля - следующие код буду писать Вашим стилем. 2. Не был оговорен размер примитива. Он был реализован динамическим размером, исходя из задаваемой при регистрации высоты по умолчанию - остальные размеры рассчитываются исходя из этого значения.
-
Достаточно много времени ушло на понимание внутренней механики, где какие отправные точки (типа StartPoint) и т.д. Небольшая статья с описанием основных механик явно бы не помешала...
-
всё отлично, стиль стоит привести к общему. Но вы не запустили тесты :)
-
Запустив тесты, вы увидете свои ошибки :)
-
- changed status to open
не закончено
-
Стиль привел к общему, пофиксил часть ошибок. Осталось 4 ошибки, связанных, как я понимаю, с тестовыми наборами в файлах *.registered. Как мне кажется, эффективнее все же дать хоть как-то ликбез по подсистеме тестирования и взаимосвязям, нежели полностью самому все раскапывать. Еще с одной ошибкой (сохранение PNG в файл) разбираюсь.
-
а ключевая ведь нет. assert был на получении пути свг вы просто рисуете на канвасе, вместо упаковки в полу-свг ) в данном случае, изменив класс вы не решили проблемы
-
с кругом все равно миксовать придетбся
-
-
http://programmingmindstream.blogspot.ru/2014/11/mindstream.html ещё советую ознакомиться с этим циклом :)
-
на счет (типа StartPoint) у вас есть доступ к Вики вроде, не стесняйтесь делиться опытом :)
-
- changed status to resolved
у меня все тесты прошли, SVG тут даже лишнее, учитывая что ставкву на него не делаем. Надо только откомитить Дениса тесты. считаю закрытой
-
reporter Игорь, спасибо конечно, но не стоит подключаться к обсуждениям. По крайней мере пока. "Распугаете" всех :-)
-
Вы бы все же определились, таки выполнено, или таки нет :)
-
reporter Ну это Игорь не до конца понял "политику партии и правительства", я с ним пообщаюсь на эту тему.
-
Мне просто интересно, все же задача выполнена или нет. Если да, то какой же главный assert я не пофиксил? Если нет, то почему сейчас все же "resolved".
P.S. Если задача все же выполнена, и Вы заинтересованы во мне как исполнителе, то готов взяться за другую тестовую задачу. Если не выполнена, то таки хочется понять, где я ошибался.
-
reporter - changed status to open
Я ещё не смотрел код. У меня тут дома есть определённые проблемы. Я обязательно посмотрю.
Насчёт assert'ов - я лично ничего не писал.
Просто у нас открытый репозитарий и каждый из подключённых "пишет что хочет".
Это не есть хорошо конечно.
Я - заинтересован.
Мне было странно слышать ваше "не хватает документации".
Раз не хватает - "будем работать".
Если есть ваш интерес, то я конечно заинтересован.
-
Не хватает документации, в первую очередь, касается стандартов написания кода. Ведь "пожелание" вверху "скрестить ежа с ужом" (т.е. для Actor-а задействовать примитив Круг) должна из чего-то проистекать, т.е. должен быть какой-то свод правил, что если для нового примитива используются части предыдущих, то они обязательно должны быть использованы. Было бы это в задании - тогда не вопрос, нарисовал бы "человечка" через SVG и задействовал бы еще Circle. Но т.к. этого в задании не было, то был весьма "удивлен" появлению этого постфактум при проверке.
-
reporter Понял. Исправимся.
Простите уж моего коллегу. Он "влез" в разговор "с лучшими побуждениями", когда я был в отъезде.
Про "скрестить ежа с ужом" - я обычно речь не веду. Я если и правлю, то КОНКРЕТНЫЕ строчки кода и/или КОНКРЕТНЫЕ тесты. А не "задаю загадки".
Есть правда одно "но" - тесты должны проходить. Но опять же - прошли они или нет - в конечном итоге решаю я. Есликонечно они и так не стали все "зелёные".
Но про тесты - отдельный разговор. Это мы тут опять же забежали вперёд. Простите уж. Несостыковочка вышла.
-
reporter Поскольку проект изначально был построен на "демократических общественных началах", то вылезают "косяки".
-
reporter "стандартов написания кода" - они - есть, но не опубликованы. В ближайшее время - опубликую.
Но ОСНОВНОЙ принцип - "делать так как сделано в соседних модулях".
Главное не буква, а дух - единообразие.
Но за "отклонение от стандартов" - никто по рукам не бьёт (пока).
-
reporter Всё это может показаться "сумбурным и бардачным", но отмечу тот факт,что это у меня - СОВСЕМ не ОСНОВНОЙ проект и поскольку мы работали практически вдвоём - я не считал нужным "настраивать среду"и писать всякие разные Development Case.
Надо будет - напишу.
Но по-моему для начала - это не главное.
-
reporter GetDrawBounds и GetPolygon по-моему - одно из другого должно выводиться.
-
reporter Или в "стандартных" примитивах чего-то не хватает?
-
reporter Мне так кажется, что данный примитив можно разбить на три - TmsPolygonShape, TmsCircle и TmsShapeGroup.
-
reporter Игорь, Денис, посмотрите пожалуйста этот коммит - https://bitbucket.org/lulinalex/mindstream/commits/fbb79262ed8bddc577290e96c01f0da1ce79eeb3
-
reporter "Мне так кажется, что данный примитив можно разбить на три - TmsPolygonShape, TmsCircle и TmsShapeGroup."
Нет?
-
reporter Ещё вот сюда стоит посмотреть - https://bitbucket.org/lulinalex/mindstream/commits/8eeea85e500b3d7a5760bc694f570e60c2457462
-
Отсутствовал в связи с командировкой, прошу извинить за молчание. Готов к труду и обороне.
Данный кейс переделывать на группировку других примитивов?
-
я бы переделал, но решает Саша. Думаю одобрит, он и предложил.
-
reporter Я уже письмом ответил. Я буду думать. Я ещё не определился.
-
reporter - changed status to closed
Примитив сделан. Всё работает. Если Денис выйдет на связь - будем сним общаться дальше.
-
Обнаружил письмо с оповещением об изменении тикета в спаме О_о Вышел на связь. Готов общаться и работать, о чем уже писал в почте ранее.
- Log in to comment
Отведите ветку с именем B_martyasha_test. И в ней - работайте.