1. Валидатор совершенно не понимает, если новый путь к файлу (а его нужно создать из имеющегося пути к новой директории - targetDirectory и имени копируемого файла) создаётся предварительно в отдельной переменной типа Path. Хотя это выглядит наглядней, чем встраивание этой процедуры в оператор copy(). Валидатор упорно пишет: "убедитесь, что вы используете метод copy". Хотя вот он, строчкой ниже! С этим я уже сталкивался и в других задачах.
2. Конечно, самым разумным при построении этого нового пути будет использование метода resolve() класса Path, однако это не единственный способ. Аналогичного результата можно добиться, сделав склейку двух строк, полученных с помощью метода toString() из targetDirectory и имени файла. Ну и, конечно, между ними нужно вклеить "\\". Всё работает, несколько раз проверил. Но валидатор упорно пишет: "убедитесь, что файлы копируются".
Или нужно видоизменить (ужесточить) условия, или валидатор поправить. Очень много времени уходит на то, чтобы понять, чего собственно хочет этот "товарищ".
Vadim Makarenko
28 уровень
Задачу решил с четвёртой попытки. И всё из-за сомнительной работы валидатора
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Vadim Makarenko
21 июля 2021, 08:50
Спасибо за ответ. Я совсем не против разбираться. И написал не столько, чтобы повозмущаться, а чтобы на моё сообщение обратили внимание с одной стороны представители javarush (ну явная ведь недоработка), с другой - те кто будут решать эти же задачи. Одно дело - когда тебе указывают на твои ошибки и другое - когда некорректно работает проверка.
0
Justinian Judge в Mega City One Master
21 июля 2021, 10:08
Та я понимаю, просто весь раздел Помощь завален страшным как атомная война кодом, который никогда бы в жизни не прошел проверку живым человеком, ученики согласно эффекту Данинга-Крюгера убеждены, что "все же работает!" несмотря на очевидные ошибки...И как я писал раньше, в 1 случае из 100 действительно, могут быть нюансы по валидатору.
Но алгоритм следующий:
1. Твой код не проходит проверку. Ты ищешь ошибку в своем решении, пробуешь решить другими способами (пытаться настойчиво решить одним способом - это очень и очень плохо), если не получается, оформляешь вопрос в разделе Помощь.
В этом вопросе, ты:
- подвязываешь задачу, чтобы были видны условия, поскольку для большинства отвечающих, условия задачи скрыты - у нас нет действующей подписки.
- автоматически показывается твой код, который не проходит валидацию.
И тебе расскажут, покажут.
2. И только когда тебе скажут, да, похоже здесь глюк валидации, тогда ты можешь обратиться в Тех поддержку/Связаться с администрацией и написать им с описанием что и как.
Но вот подобные сообщения в разделе Помощь, их читают другие ученики и те, кто помогает.
А даже, если бы кто с администрации прочитал, что он бы понял?
Что ты где-то что-то сделал, и что-то пошло не так как ты считаешь нужным, при этом кода нет, привязки к задаче кода нет, в твоем коде могло быть 1000 ошибок в других местах, это же классика жанра, написать:
а потом удивляться, валидатор пишет "Убедись, что массив array, инициализируется", так вот же , он инициализируется! Это все валидатор.
А то что в другой строке срабатывает рантайм эксепшен который фэйлит соответствующий junit тест, человек не видит.
Вот для этого и нужен первый этап - оформление своего кода в разделе Помощь и разобраться с помощью других сперва. Причем только код, и только тогда, когда задача еще не была сдана успешно валидатору, поскольку после драки кулаками не машут.
0
Justinian Judge в Mega City One Master
21 июля 2021, 10:43
В идеале ты должен объективно оценить свою экспертизу по языку Java.
Если ты решишь задачу хоть с 100 попытки это ок.
Решит с 4 попытки и тратить время на валидатор, не ок, я например практикующий дев, который даже на твоем этапе может много чему научить, подправить.
И на что ты тратишь свое время? Не на повышение своих навыков, не прокачку скиллов программиста, а на обсуждение некой абстракции, которая МОЖЕТ быть, а может и не быть, иногда виновата.
Все очень просто, есть Задача, нужно найти Решение. Хоть с 50 попытки, это не важно, Решение прежде всего. Решил задачу, перешел к следующей. Решил задачу, перешел к следующей.
Это профессионализм, это сфокусированность на результате.
А понять то, почему не проходит валидацию, или как сдать задачу валидатору, это и есть прокачка скиллов программиста.
Любой может написать нечто, что у него локально кое-как отработает. А вот заставить это отработать на сервере - это другая песня, это навык, который можно и нужно развивать.
Но опять же, у всех разные цели, я же не из вредности это пишу, я просто насмотрелся на то, как у людей КПД проседает с 80-90% до 20-30% на ровном месте, только из-за неправильных подходов и ориентиров.
Хотя я принимаю, что задачи разные, не у всех задача быть и работать джава программистом, не у всех задача эффективно обучаться и эффективно тратить свое время получая новые навыки.
Но по крайней мере, если у кого-то есть желание, стать эффективнее, я просто хочу помочь предоставляя те ориентиры, которые проверены временем, поскольку мы все разные, но ошибки совершаем те же..
0
Justinian Judge в Mega City One Master
20 июля 2021, 20:11
курс рассчитан на тех, кто хочет развиваться. Если нужно время, чтобы понять ,что нужно валидатору для принятия, значит нужно. Это развивает много навыков, которые потом пригодятся, на работе будет тоже самое, написал код, у тебя локально работает, пушишь - не работаешь. И там не будет у кого спросить или даже тесты посмотреть, будешь сидеть, думать, разбираться, это и есть профессия программиста - уметь написать код полдела, а сделать так, чтобы решение заработало на сервере и там, где нужно, вот это уже отличает юзера-копипастера от программиста.
Если тебя это напрягает - обращайся в раздел Помощь, на работе, все-равно часто придется просить эту помощь у других членов команды.
Если и это не хочется делать по ряду причин, просто пропускай задачи. Вернешься потом
0