Сделать примитив Actor

Issue #222 closed
Alex Lulin repo owner created an issue

Обратите внимание на RegisterOurShapes.

Тестовое задание такое - на основе СУЩЕСТВУЮЩИХ примитивов наследников от TmsShape надо сделать примитив TmsActor (актёр) ну как в RUP - иконка с человеком, ссылку прислать или найдёте в интернете?

Чтобы этот примитив работал как и все остальные, ну то есть добавлялся/удалялся. Там на самом деле УЖЕ всё сделано. Вся инфраструктура. Вам надо примитив лишь зарегистрировать.

Ну и определить ему метод DoDraw ну и может быть GetDrawBounds.

Наследоваться лучше всего от SVGShape ну или PolygonShape.

Comments (34)

  1. Alex Lulin reporter

    Отведите ветку с именем B_martyasha_test. И в ней - работайте.

  2. Denis Martyanov

    Примитив создан. Учитывая, что в задании не были оговорены некоторые моменты и дабы не затягивать реализацию тестового задания, были приняты следующие допущения: 1. Стиль кода, именование переменных, отступы и т.д. были использованы "свои", чтобы максимально просто отличать авторов того или иного кода. Если требуется унификация стиля - следующие код буду писать Вашим стилем. 2. Не был оговорен размер примитива. Он был реализован динамическим размером, исходя из задаваемой при регистрации высоты по умолчанию - остальные размеры рассчитываются исходя из этого значения.

  3. Denis Martyanov

    Достаточно много времени ушло на понимание внутренней механики, где какие отправные точки (типа StartPoint) и т.д. Небольшая статья с описанием основных механик явно бы не помешала...

  4. Ihor Bielykh

    всё отлично, стиль стоит привести к общему. Но вы не запустили тесты :)

  5. Denis Martyanov

    Стиль привел к общему, пофиксил часть ошибок. Осталось 4 ошибки, связанных, как я понимаю, с тестовыми наборами в файлах *.registered. Как мне кажется, эффективнее все же дать хоть как-то ликбез по подсистеме тестирования и взаимосвязям, нежели полностью самому все раскапывать. Еще с одной ошибкой (сохранение PNG в файл) разбираюсь.

  6. Ihor Bielykh

    а ключевая ведь нет. assert был на получении пути свг вы просто рисуете на канвасе, вместо упаковки в полу-свг ) в данном случае, изменив класс вы не решили проблемы

  7. Ihor Bielykh

    на счет (типа StartPoint) у вас есть доступ к Вики вроде, не стесняйтесь делиться опытом :)

  8. Ihor Bielykh

    у меня все тесты прошли, SVG тут даже лишнее, учитывая что ставкву на него не делаем. Надо только откомитить Дениса тесты. считаю закрытой

  9. Alex Lulin reporter

    Игорь, спасибо конечно, но не стоит подключаться к обсуждениям. По крайней мере пока. "Распугаете" всех :-)

  10. Denis Martyanov

    Вы бы все же определились, таки выполнено, или таки нет :)

  11. Alex Lulin reporter

    Ну это Игорь не до конца понял "политику партии и правительства", я с ним пообщаюсь на эту тему.

  12. Denis Martyanov

    Мне просто интересно, все же задача выполнена или нет. Если да, то какой же главный assert я не пофиксил? Если нет, то почему сейчас все же "resolved".

    P.S. Если задача все же выполнена, и Вы заинтересованы во мне как исполнителе, то готов взяться за другую тестовую задачу. Если не выполнена, то таки хочется понять, где я ошибался.

  13. Alex Lulin reporter
    • changed status to open

    Я ещё не смотрел код. У меня тут дома есть определённые проблемы. Я обязательно посмотрю.

    Насчёт assert'ов - я лично ничего не писал.

    Просто у нас открытый репозитарий и каждый из подключённых "пишет что хочет".

    Это не есть хорошо конечно.

    Я - заинтересован.

    Мне было странно слышать ваше "не хватает документации".

    Раз не хватает - "будем работать".

    Если есть ваш интерес, то я конечно заинтересован.

  14. Denis Martyanov

    Не хватает документации, в первую очередь, касается стандартов написания кода. Ведь "пожелание" вверху "скрестить ежа с ужом" (т.е. для Actor-а задействовать примитив Круг) должна из чего-то проистекать, т.е. должен быть какой-то свод правил, что если для нового примитива используются части предыдущих, то они обязательно должны быть использованы. Было бы это в задании - тогда не вопрос, нарисовал бы "человечка" через SVG и задействовал бы еще Circle. Но т.к. этого в задании не было, то был весьма "удивлен" появлению этого постфактум при проверке.

  15. Alex Lulin reporter

    Понял. Исправимся.

    Простите уж моего коллегу. Он "влез" в разговор "с лучшими побуждениями", когда я был в отъезде.

    Про "скрестить ежа с ужом" - я обычно речь не веду. Я если и правлю, то КОНКРЕТНЫЕ строчки кода и/или КОНКРЕТНЫЕ тесты. А не "задаю загадки".

    Есть правда одно "но" - тесты должны проходить. Но опять же - прошли они или нет - в конечном итоге решаю я. Есликонечно они и так не стали все "зелёные".

    Но про тесты - отдельный разговор. Это мы тут опять же забежали вперёд. Простите уж. Несостыковочка вышла.

  16. Alex Lulin reporter

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

  17. Alex Lulin reporter

    "стандартов написания кода" - они - есть, но не опубликованы. В ближайшее время - опубликую.

    Но ОСНОВНОЙ принцип - "делать так как сделано в соседних модулях".

    Главное не буква, а дух - единообразие.

    Но за "отклонение от стандартов" - никто по рукам не бьёт (пока).

  18. Alex Lulin reporter

    Всё это может показаться "сумбурным и бардачным", но отмечу тот факт,что это у меня - СОВСЕМ не ОСНОВНОЙ проект и поскольку мы работали практически вдвоём - я не считал нужным "настраивать среду"и писать всякие разные Development Case.

    Надо будет - напишу.

    Но по-моему для начала - это не главное.

  19. Alex Lulin reporter

    GetDrawBounds и GetPolygon по-моему - одно из другого должно выводиться.

  20. Alex Lulin reporter

    Или в "стандартных" примитивах чего-то не хватает?

  21. Alex Lulin reporter

    Мне так кажется, что данный примитив можно разбить на три - TmsPolygonShape, TmsCircle и TmsShapeGroup.

  22. Alex Lulin reporter

    "Мне так кажется, что данный примитив можно разбить на три - TmsPolygonShape, TmsCircle и TmsShapeGroup."

    Нет?

  23. Denis Martyanov

    Отсутствовал в связи с командировкой, прошу извинить за молчание. Готов к труду и обороне.

    Данный кейс переделывать на группировку других примитивов?

  24. Ihor Bielykh

    я бы переделал, но решает Саша. Думаю одобрит, он и предложил.

  25. Alex Lulin reporter

    Я уже письмом ответил. Я буду думать. Я ещё не определился.

  26. Alex Lulin reporter

    Примитив сделан. Всё работает. Если Денис выйдет на связь - будем сним общаться дальше.

  27. Denis Martyanov

    Обнаружил письмо с оповещением об изменении тикета в спаме О_о Вышел на связь. Готов общаться и работать, о чем уже писал в почте ранее.

  28. Log in to comment