Суть в том, что "правильное" решение этой задачи – натуральный говнокод, который не будет работать, если вводить не true, а false.
Почему валидатор пропускает такие решения? Для чего это сделано?
Почему валидатор не пропускает решение через проверку булеана, которая намного ближе к реальным условиям, когда ты не знаешь что прилетит в инпут?
Антоний
5 уровень
Почему так?
Обсуждается
Комментарии (9)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
YPon
31 августа 2021, 10:18
Так же считаю эту задачу написанной под "условие". Хотя и опыта практически нет. Но и польза от подобных задач сомнительна.
0
hidden #598481
9 августа 2021, 13:43
Приведи решение, которое тебя не устраивает, и решение, которое по твоем мнению несправедливо не проходит. И условие до кучи )
0
Антоний
9 августа 2021, 13:47
Решение, которое меня не устраивает, но его пропускает валидатор.
Код написан с учетом того, что мы знаем какой булеан прилетит в инпут. 0
Антоний
9 августа 2021, 13:56
К сожалению у меня пока не хватает знаний написать проверку булеана, часть моего вопроса можно опустить.
Но основной посыл остается – зачем учат говнокоду?
0
ГоффMaster
9 августа 2021, 15:50
Нормальный код, что именно тебе не нравится? Ну ок, можно спорить о необходимости переменной isOptimist если она используется только один раз и нигде не изменяется, но это вопрос чисто вкуса и оптики. По поводу result тоже могут аналогичные вопросы возникнуть, но вот что бы говнокод прям? Не. И false будет, естественно, как надо отрабатывать.
0
Антоний
9 августа 2021, 19:00
Тут у нас создается булеан, который принимает либо true, либо false с инпута.
Если с инпута было принято false, разве это не с инициирует выполнение условия if? Я просто очень хочу понять, почему оно написано так, как написано. Может я ошибаюсь и неправильно понимаю логику условия if, в котором прописан булеан, заранее спасибо за ответ.
P.S. Самостоятельно проверить не могу, т.к. в данный момент не имею доступа к пк и изучаю все с приложения в ведроиде, а подписка не Про.
0
ГоффMaster
9 августа 2021, 21:52
0
Denis Zavrin
20 августа 2021, 11:50
Дак тут и проверяется. if (isOptimist) { можно заменить на if (isOptimist==true), это и так подразумевается. Если введем false, то задействуется } else (isOptimist==false) {
0
Justinian Judge в Mega City One Master
20 августа 2021, 13:59
не только, зависит от контекста, на реальном проекте знают какие компоненты часто переписываются, какие нет, последние инлайнятся, раз записал, да и все, а те компоненты, которые изменяются часто, то намного удобнее рефакторить когда выделено в отдельную переменную + читабельность и самодокументируемость кода лучше.
В принципе, любые вопросы стиля это вопросы вкуса, но оправданность того или иного решения всегда тесно связана с конкретным контекстом, который часто выходит за рамки конкретного кода
0