Andrii
И тестики туда же, код без тестов - гуамно
Это относительно, тесты как раз присутствуют не на всех успешных проектах
Andrii
90? Я думал, меньше...
Да как бы не 99%. Написал код, в скольки случаях он работает с первого раза?
Иаков
Обычно пишешь мало, дольше смотришь как работает/почему не работает
Ну, наверное.. Ну, не забывать, что нужно еще думать над тем, как реализовать или как исправить
Сергей
Это относительно, тесты как раз присутствуют не на всех успешных проектах
Я считаю надо покрывать, хотя бы основной функционал, согласен если какую кнопочку гонять, которая цвет/текст меняет - толку мало
m700
90? Я думал, меньше...
Посмотри сколько строк по статье пишет программист (не на начальном этапе). В совершенном коде есть про это параграф
Иаков
Да как бы не 99%. Написал код, в скольки случаях он работает с первого раза?
Ну, не знаю, в 40% с первого раза работает, но если ты хорошо подумал.. Либо же тебе фортануло...
Иаков
Сергей
Ну, не знаю, в 40% с первого раза работает, но если ты хорошо подумал.. Либо же тебе фортануло...
Смотря что в понимании написать код, если мы говорим за поправить это одно, если мы говорим реализовать с нуля и добавить куда-то - это другое
Иаков
Эх, я еще не работаю. Мне до работы долго. Хочется уже в команду влиться, в офисе(((
Andrii
Я считаю надо покрывать, хотя бы основной функционал, согласен если какую кнопочку гонять, которая цвет/текст меняет - толку мало
Надо, кто спорит... Но... есть вещи, которые сложно покрываются, тот же GUI, холера ему в бок. Ещё код часто выполняется на куче разного железа, и тут мы можем проверить работоспособность в целом, и то по артефктам больше... В общем, не всегда с этим просто. Но если какой-то компилятор то да, там тесты писать легко
Azamat
Кто то тестит gui? Что за мазохизм...
m700
Ну, не знаю, в 40% с первого раза работает, но если ты хорошо подумал.. Либо же тебе фортануло...
для примера на литкоде мидл задачи погоняй, сколько там в тестах граничных состояний из-за которых код не верный
Алексей
https://replit.com/@AlexSklemin/evendigits#main.cpp Скажите это же не рекурсивно. Чего не хватает для рекурсии
Andrii
Кто то тестит gui? Что за мазохизм...
Тестеры тестят, но мы говорим про варианты, когда прогрммист пишет тесты на написанный код.
Иаков
Кто то тестит gui? Что за мазохизм...
Ну, в андроиде ui тестят. Там с этим не мазохизм. Типо, проверить, во view в таком случае тот ли текст... Или прочее
m700
Кто то тестит gui? Что за мазохизм...
мануальные тестеры пусть все делают?)
Сергей
Последнее, скорее
Ну, я сегодня ревью делал, сравнивают два года, текущий и выбранный, человек с чего-то решил, что разница не должна быть > 2 лет, ну ок, тесты не писаны, старые не исправлены, из-за этого посыпались остальные, потому что проверка есть, но надо 1 - проверить что твоя правка делает, 2 - поправить другие тесты -> маленькая правка влечёт за собой доп. код
Vyacheslav
https://replit.com/@AlexSklemin/evendigits#main.cpp Скажите это же не рекурсивно. Чего не хватает для рекурсии
Рекурсивного вызова нехватает ))) Он вместо цикла должен быть
m700
Хех, надо бы попробовать
ну как пример, разбирали вот задачу которая перетекла в холивар про иммутабельность, я предложил не драть голову и регэксп вкрячить, и он указал - с умлаутами можно облажаться, и вот таких нюансов полно(
Сергей
Ох, ну.. Еще и комментарии, кста. Их тоже надо переписывать, если вдруг реализация функции изменится или класс расширится... Или комменты не трогают?
Когда люди предерживаются кодстайла, в принципе всё понятно, если ты добавил что-то новое и оно как-то хитро работает - пиши коменты, правь доку если ведёте
Azamat
Ох, ну.. Еще и комментарии, кста. Их тоже надо переписывать, если вдруг реализация функции изменится или класс расширится... Или комменты не трогают?
Так не должно быть, каждая функция / класс предназначены для определённой цели и трогать их не стоит
Сергей
смотря в каком кругу ада горит уже проект)
Почему сразу горит? При нормальном менеджменте ничего не горит
Azamat
Ага, если что-то уже работает - нехер туда влазить))
Да можно пофиксить, но не так, чтобы там настолько всего поменять, что надо коммент переписывать
Иаков
Так не должно быть, каждая функция / класс предназначены для определённой цели и трогать их не стоит
Ну... Тоже верно. Но разве не может выйти, что функцию придётся изменить? Или, вернее, добавить кода, расширить?
Иаков
регэкспы почти одинаковые везде
Ну, тоже верно, наверное
m700
Ну, тоже верно, наверное
я про регэкспы привел пример что если код как говоришь в 40% работает, не значит что нет еще 100 вариантов входных данных при которых не не заработает, потому отладка и занимает основную часть работы
m700
ну кроме распития кофе
m700
я в этом не разбираюсь, я джун же)
Azamat
Ну... Тоже верно. Но разве не может выйти, что функцию придётся изменить? Или, вернее, добавить кода, расширить?
В этом случае можно создать новую функцию и уже её использовать в твоей старой так, чтобы тесты не ломались + чтобы дохера строчек на добавлять
Борисов
ну как пример, разбирали вот задачу которая перетекла в холивар про иммутабельность, я предложил не драть голову и регэксп вкрячить, и он указал - с умлаутами можно облажаться, и вот таких нюансов полно(
Как-то один умудренный опытом коллега дал шуточный совет ) "ЯП надо знать на 8 из 10. А писать код ( по сложности применяемых конструкций) на 3. Почему ? Потому что тогда простые баги будут на 5 баллов по сложности. А хитромудрые баги на 7 баллов. И ты их успешно сможешь зарешать. А если синтаксически писать код на грани своего понимания, то баги в таком коде уйдут за грань твоего понимания :)"
Борисов
Правда, совет касался С++ - там же, реально, можно такие синтаксические конструкции закручивать, что прям огонь )))
Иаков
Igor
Обычно пишешь мало, дольше смотришь как работает/почему не работает
в начале обучения обычно наоборот... как не работает, блядь а это почему работает ;)
m700
А какое направление?
десктоп был, щас хз бэк наверно
Иаков
Иаков
Я бы пошел в джава энтерпрайз, если в бэк.
Сергей
Я бы пошел в джава энтерпрайз, если в бэк.
Столяру хорошо, а инженеру — лучше, я бы строить дом пошел, пусть меня научат.
Иаков
Столяру хорошо, а инженеру — лучше, я бы строить дом пошел, пусть меня научат.
Хм... Это такая пословица? Пхпхп Тип, лучше во фулстэк пойти? Не, не хочу
Алексей
Рекурсивного вызова нехватает ))) Он вместо цикла должен быть
Вот я и чувствую но как сформировать не соображу. Ием более в пвраллель пытаюсь с альтов до win xp достучаться и принтер завести
Stanislav
Привет Слетели все пакеты с юнити 2020.3.27 Посреди проекта после перезагрузки unityHub Кто сталкивался с этим и как лечить это: Error adding package. Unable to perform online search. Спс
Евгений
Ребята, подскажите пожалуйста, почему ругается? Пишет что Note объявлена, но ззначение не прочитано. Спасибо
Евгений
Скрипт подключен вот так
Igor
Вот я и чувствую но как сформировать не соображу. Ием более в пвраллель пытаюсь с альтов до win xp достучаться и принтер завести
а рекурсивным сделать просто (и тааак сойдет): void evendigits(long long digit, int& ans){ while (digit) { if((digit%10)%2==0) ans++; digit/=10; int next_ans=0; evendigits(0, next_ans); } }
Stanislav
Да
Stanislav
Вообще весь чист только базовые Сейчас ещё выпала ошибка что нет возможности подключения к аккаунту
Igor
В смысле вывод? Такой задачи не стояло
в смысле ты посчитал в функции результат как ты его узнаешь за пределами функции ;) или такой задачи не стояло? ans в мейн в твоем случае так и останется равным нулю
Igor
Огненная рекурсия )))) А главное - безопасная и совершенно не ресурсоемкая )
Синьер плохого не посоветует ;) бестпрактисес ... исчезающая рекурсия Главное все по тех заданию
Vyacheslav
В смысле вывод? Такой задачи не стояло
Задача была нагрузить процессор бесполезной работой?)
Igor
Задача была нагрузить процессор бесполезной работой?)
не получится компилятор смекает уже на O2, что функция бессмысленная ;)
Vyacheslav
не получится компилятор смекает уже на O2, что функция бессмысленная ;)
Жаль... А так бы изобрели обогреватель уже на базе интелов )