D>Вполне нормальное задание. Когда в своё время в серьёзные конторы собеседовался такого же масштаба работы делал.
А зачем ?
Вот, допустим, был бы ты не програмистом, а слесарем.
Что-бы устроится на завод надо выполнить тестовое задание — выточить детали и собрать из них "автомобиль".
За свой счет разумеется.
Затем, чтобы можно было оценить ключевые навыки. И то что ТС по итогам не взяли — вполне закономерно. Бо уровень его решения очень слабый.
E>Что-бы устроится на завод надо выполнить тестовое задание — выточить детали и собрать из них "автомобиль".
Какой автомобиль ??? Вы что несёте ??? Задание примитивное — дня три работы для результата близкого к идеальному по всем параметрам.
D>Затем, чтобы можно было оценить ключевые навыки. И то что ТС по итогам не взяли — вполне закономерно. Бо уровень его решения очень слабый.
Они оцениваются по длругим признакам.
D>Какой автомобиль ??? Вы что несёте ??? Задание примитивное — дня три работы для результата близкого к идеальному по всем параметрам.
— добавление управляющих точек,
— изменение значений tension/continuity/bias для управляющих точек,
— перемещение управляющих точек,
— удаление управляющих точек.
движок
* Работоспособность в MS Windows (7/8) или Linux.
* Визуализация сплайнов.
* Разделение кода графического интерфейса и логики приложения.
* Визуальное редактирование сплайнов:
корпус + органы управления
Бонусы:
* Сохранение и загрузка сплайнов,
* Функции undo/redo,
* Поддержка одновременного редактирования произвольного количества сплайнов.
Здравствуйте, amid493, Вы писали:
A>Прошу не стесняясь попинайте код пожалуйста.
Решение очень слабое. Особенно для тестового задания, в котором Вы должны показывать всю широту своих навыков и знаний.
А тут:
* Тесты — нет
* Предусловия\инварианты\постусловия\контракты — нет
* Обработка ошибочных ситуаций — никакая
* Математика на плавающей точке — базовых вещей не знаете и не понимаете
* Архитектура — каменный век
* Дизайн кода — примитивный
* Документация — отсутствует
* Интернационализация\локализация — отсутствует
* UI\UX — у Xerox в 1973 году было гораздо лучше
E>>Они оцениваются по длругим признакам. D>Можно оценивать и по другим. И что из этого ? Чем эти "другие" лучше ?
Вы забыли для начала спросить по каким...
E>>движок E>>... E>>корпус + органы управления D>Зачем Вы всё это тут накопипастили ???
Пруф приведите пожалуста того места откуда я это накопипастил.
D>Просто бы написали: "мне, eskimo82, за три дня это сделать слабо"...
Все проще — я не буду этого делать. Просто потому что _я_ _так_ _хочу_, а не вы.
E>>Приведите пруф пожалуста. D>То есть Вы отказываетесь от своих песен про автомобиль, и соглашаетесь со мной, что задание простое. Я Вас правильно понял ?
Я привёл простую аналогию.
Не вижу никаких причин и поводов отказываться от своих слов.
С другой стороны, я невижу причин не закончить выяснение смысла фразы
Вы уже спалились, оценив задание как слишком сложное
особбено меня интересует ссылка на мой пост с оценкой задания.
Я думаю, Вас это не затруднит ?
ЗЫ2: Да, кстати:
Какой автомобиль ??? Вы что несёте ??? Задание примитивное — дня три работы для результата близкого к идеальному по всем параметрам.
Ваша фраза ?
Для справки: 3 дня програмиста с докризисной з.п. в 130 стоят 19,5 тыр; с послекризисной стоят 37,5 тыр.
Здравствуйте, eskimo82, Вы писали:
E>Для справки: 3 дня програмиста с докризисной з.п. в 130 стоят 19,5 тыр; с послекризисной стоят 37,5 тыр.
Круто. Я столько и за месяц не зарабатываю.
D>* Тесты — нет D>* Предусловия\инварианты\постусловия\контракты — нет D>* Обработка ошибочных ситуаций — никакая D>* Математика на плавающей точке — базовых вещей не знаете и не понимаете D>* Архитектура — каменный век D>* Дизайн кода — примитивный D>* Документация — отсутствует D>* Интернационализация\локализация — отсутствует D>* UI\UX — у Xerox в 1973 году было гораздо лучше
Так надо чтобы кандидат месяц вечерами писал что-ли? Тестовое задание должно быть и идеальным, и показать умение писать простой код, и с другой стороны показать знания крутых паттернов, с третьей должно быть покрыто тестами, в четвертых должно показать эстетический вкус.
Получается не ТЗ, а готовый продукт.
А самый прикол что в большинстве фирм применяется методология х..к, х..к и в продакшен.
D>* Тесты — нет D>* Предусловия\инварианты\постусловия\контракты — нет D>* Обработка ошибочных ситуаций — никакая D>* Математика на плавающей точке — базовых вещей не знаете и не понимаете D>* Архитектура — каменный век D>* Дизайн кода — примитивный D>* Документация — отсутствует D>* Интернационализация\локализация — отсутствует D>* UI\UX — у Xerox в 1973 году было гораздо лучше
Если когда увижу тестовое задание с крутой архитектурой, документацией, интернализацией и тестами, сразу отправлю кандидата в дальнее путешествие.
Самые опасные дураки — деятельные, которые домысливают задание и расширяют его по освоему разумению. Это люди, которые говорят "я думал, что ..."
Если мне нужна собачья будка — не надо мне расчетов прочности, гидрологических исследований почвы, экономического обоснования и т.д.
Здравствуйте, drol, Вы писали:
D>Какой автомобиль ??? Вы что несёте ??? Задание примитивное — дня три работы для результата близкого к идеальному по всем параметрам.
три дня пахать бесплатно? чтобы просто кому-то понравиться? как по мне, адекватное задание — 3 часа, ну 6 максимум.
Здравствуйте, amid493, Вы писали: A>решал тестовое задание и получил ответ, что типа вы нам не подходите без объяснения что в коде не так. A>Прошу не стесняясь попинайте код пожалуйста.
могу предложить метод экспресс-анализа качества кода.
открываете каталог с кодом. и ищете по всем файлам слово helper. найдено — код в помойку
если придираться детально, то:
зекоммичено два мусорных файла — DataGraphic — копия.cs и drawhelper.
к этому:
if (dlg.ShowDialog() == DialogResult.OK)
{
controller.Serialize(dlg.FileName);
}
я лично такие излишние скобки не люблю. если бы я хотел прикопаться на интервью, то спросил бы формат оператора if и что такое скобки.
увидев вот такой код я всегда борюсь с желанием распечатать его в черной рамочке с надписью DO IT LIKE A PRO, попросить у аффтара подпись и повесить на доску почета
public SplineCalculator(MyPointF[] points, int width, int height, float tension, float continuty, float bias)
{
if (points != null && points.Length > 2)
{
...
}
else
{
if (points != null && points.Length < 2)
{
throw new Exception("Points was not selected");
}
}
}
internal MyPointF[] GetSpline(int discrete = 10) — вообще ничего не понял
private MyPointF CalcRAB(MyPointF p11, MyPointF p22, MyPointF p33, bool isRa) — типичный антипаттерн — передавать булевскую переменную для изменения поведения ф-ии, когда нам на самом деле нужно две ф-ии.
DrawerController — какое-то странное имя. Render, чтоли имелся в виду?
уберите все эти блоки try-catch, которые ничего не ловят. и не только отсюда.
какая-то странная реализация PointAction — три же action, почему класс один? что это еще за SetNewPoint ?
MyPointF — использование слов или префиксов-слов-паразитов My, Model, Helper, Util выдают недостаточный "словарный запас" программиста. То есть можно говорить только про начальный уровень. вообще MyPoint тоже какой-то странный. зачем он неконстантный-то, например?
Здравствуйте, drol, Вы писали:
D>Какой автомобиль ??? Вы что несёте ??? Задание примитивное — дня три работы для результата близкого к идеальному по всем параметрам.
Отнимать у человека три дня свободного времени — это ли не свинство?
Если есть необходимость проверить ключевые навыки соискателя на практике, существует испытательный срок.