
Andrii [R11]
08.01.2019
11:49:15
правильность формы кексов контроллируется на этапе заливки теста в форму, не в процессе выпечки самих
если ты залил вместо теста ртуть - то это точно проблемы не печки)

Проксимов
08.01.2019
11:50:35
Да, надо чекать ингредиенты перед готовкой

Никита
08.01.2019
11:50:42
да, да, предельно ясно стало. хотя голову долго ломал

Google

Александр
08.01.2019
11:50:53
Чем?
Тем, что если забить хуй на то, что тебе приходит и уповать на то, что оно там будет нормально работать, то проект рискует порасти непонятно откуда возникающими AttributeError, IndexError, TypeError и другими. Лично я рекомендую хотя бы оборачивать код внутри функции в обработку исключений, которые могут возникнуть в конкретном случае, и выбрасывать своё понятное по бизнес-логике исключение, что-то типа IncorrectBlaBlaBlaDataError.

Проксимов
08.01.2019
11:51:35
Чем в каждой функции трай кэтч?

Александр
08.01.2019
11:51:56

Проксимов
08.01.2019
11:52:13

Tishka17
08.01.2019
11:52:25

Александр
08.01.2019
11:52:45

Проксимов
08.01.2019
11:52:59
Надо чекать на моменте создания этого массива
А ни при передаче в функцию

Александр
08.01.2019
11:54:05
Без знаний о том, что чувак делает, опасно давать такие советы
О чем я и написал

Google

Александр
08.01.2019
11:54:49
Ты можешь сам их генерировать, а можешь и не сам

Tishka17
08.01.2019
11:55:41

Проксимов
08.01.2019
11:55:52

Александр
08.01.2019
11:56:37
А, тут все проще

Tishka17
08.01.2019
12:04:17
Кстати.
А вот если функция принимает параметр. Допустим число от 0 до 360. Можно научить статический анализатор это проверять?
Допустим, через кастомный тип

Andrii [R11]
08.01.2019
12:05:29
из пушки по воробьям
а еще есть assert

Tishka17
08.01.2019
12:06:28
Не. Чтобы прям при наборе кода я видел, что пишу небезопасную фигню
Assert тот же pycharm смотрит разве?

Andrii [R11]
08.01.2019
12:08:30
а головой думать?

Tishka17
08.01.2019
12:10:09
???
Вообще, отдельный тип было бы логично. Ведь если что-то принимает лишь ограниченное число значений, наверно это отдельная сущность. Хотя не всегда, да

Andrii [R11]
08.01.2019
12:12:09
ну, странно пологаться в этом плане на ide

LighteR
08.01.2019
12:12:25

Terminator
08.01.2019
12:12:32
Иван Демидов будет жить. Поприветствуем!

Tishka17
08.01.2019
12:13:47

Google

LighteR
08.01.2019
12:14:06
точнее можно оборачивать в кастомный тип
но это не очень удобно

Tishka17
08.01.2019
12:15:19
Ну вот допустим тип. Degree как алиас к int, но с валидацией

Andrii [R11]
08.01.2019
12:15:58
если это градус

Artem
08.01.2019
12:16:10
Какие библиотеки для трейдинга использовать?

Andrii [R11]
08.01.2019
12:16:13
вся валидация value % 360 )

Tishka17
08.01.2019
12:16:15
Ну да, градус. Но он как бы флоат

LighteR
08.01.2019
12:16:24

Andrii [R11]
08.01.2019
12:16:28
не берем в расчет overflow

Александр
08.01.2019
12:16:31

Andrii [R11]
08.01.2019
12:16:37
это отдельный кейс и на него есть отдельные эксепшены
попробуй

Tishka17
08.01.2019
12:16:52
И эту валидацию бы статически делатт

Artem
08.01.2019
12:17:03

Andrii [R11]
08.01.2019
12:17:06
статический анализ проверяет типы
не значения

Tishka17
08.01.2019
12:17:08

Google

Andrii [R11]
08.01.2019
12:17:11
это разные вещи

Tishka17
08.01.2019
12:17:19
Статический анализ проверяет ошибки
Проверка типов один из кейсов

Andrii [R11]
08.01.2019
12:17:45
но не значения данных. Но может подсказать необработаное деление на ноль например
Но статический анализатор не может знать что у тебя функция сделает rm -rf если у тебя луна в юпитере, а стрелец в водолее

Никита
08.01.2019
12:18:26

Tishka17
08.01.2019
12:18:30
Ну теоретически мог бы

Andrii [R11]
08.01.2019
12:19:04

Tishka17
08.01.2019
12:19:29
Гуглим single responsibility и контракты

Andrii [R11]
08.01.2019
12:20:10
Внезанпо выяснится, что печка с АИ на которую потратили 1000000000 денег не отличает бензин от воды
Оба же жидкие, ничего плохого в нагреваниии жидкостей нет.
Или добавят СВЧ, но забудут првоерять металличность предметов

Tishka17
08.01.2019
12:21:09

Никита
08.01.2019
12:21:21
Ресурсы - это память и время?
И цп?

Andrii [R11]
08.01.2019
12:21:28

Tishka17
08.01.2019
12:21:38

Andrii [R11]
08.01.2019
12:22:11
Ресурсы - это память и время?
Плохой программист Джон сделал ошибку в коде, из-за которой каждый пользователь программы был вынужден потратить в среднем 15 минут времени на поиск обхода возникшей проблемы. Пользователей было 10 миллионов. Всего впустую потрачено 150 миллионов минут = 2.5 миллиона часов. Если человек спит 8 часов в сутки, то на сознательную деятельность у него остается 16 часов. То есть Джон уничтожил 156250 человеко-дней ≈ 427.8 человеко-лет. Средний мужчина живет 64 года, значит Джон убил примерно 6 целых 68 сотых человека

Никита
08.01.2019
12:23:23
Понял, спасибо. по сути я тоже понял, если один валидатор не спас, то и 1000 не поможет

Andrii [R11]
08.01.2019
12:24:48
Делай как говорит тебе совесть.

Google

Andrii [R11]
08.01.2019
12:25:01
А там может тебе сделают ревью и накажут
Или похвалят
Никто на самом деле не знает как лучше и правильно.
В идеальном мире конечно есть способ это делать. Один.
Правильный и единственный

Олег
08.01.2019
12:26:54
Здравствуйте , у меня есть не большая идея , может кто помочь советом в реализации ? В лс пожалуйста , спасибо. ?

?
08.01.2019
12:28:06

Tishka17
08.01.2019
12:28:52
Перед знаком вопроса пробел не ставится

Олег
08.01.2019
12:29:10

Tishka17
08.01.2019
12:29:12
И перед запятыми тоже
Чем мог помог

Александр
08.01.2019
12:29:48

Олег
08.01.2019
12:29:51
Ладно , спасибо
?

Tishka17
08.01.2019
12:30:20

Danz
08.01.2019
12:32:23
Все уже себе купили хамбл бамбл питона 2019 на прошлой неделе?

Slam! 538
08.01.2019
12:34:29

Qq
08.01.2019
12:37:13
?
Ну реально, просто картинка ему нравится, а обрезанная нет

Tishka17
08.01.2019
12:37:44