Rodegast
Возьми код любого большого проекта и ты там ещё не такое увидишь.
Не, что Git, что Nginx довольно чистые. Питон - да, он пишется всеми подряд, там просто замучаешься всё исправлять, поэтому принимают всё что просто работает. Поэтому править код интерпретатора питона неприятно и работать с ним неприятно. И поэтому я там контрибутингом не занимаюсь, хотя мог бы. Зачем мне копаться в этом, если есть более приятный и нужный мне код.
Rodegast
Тогда объясни чем check_data(data) принципиально отличается от data.isdigit()
Тем, что check_data() можно расширить и основная программа, которая обратилась к этой функции, этого не заметит. В данном топике речь зашла про плавающую точку (хотя я посмеялся, когда ты её ввёл, так как в устройствах бывает много потерь и там не до плавающих точек). Может там быть и не точка, могут быть данные вообще не числовые, а просто символы какие-то определённые. То есть приходят числа, которые представляют из себя символы (отдельно или сгруппированно, неважно). Соответственно, проверка данных может вообще не включать в себя str.isdigit(), а может включать str.isdigit() и вдобавок к str.isdigit() ещё что-то дополнительно. Также проверка может быть гораздо сложнее устроена и потребовать какие-то
подпроверки, которые так же вынесены в функции, в которых так же что-то проверяется очень досконально, не по-тупому то есть. Соответственно, вставлять data.isdigit() прямо в главную программу при работе
с реальным устройством - это глупость на уровне школьника. Тебе не хватит простенькой проверки, когда задача реальная, а не какая-то учебная из школы для девятиклассников. Поэтому я сразу это делаю, а не сижу и жду, когда же устройство вернёт мне какую-то совершенно новую забубённую хрень, из-за одной которой мне придётся распарывать всю программу, добавлять туда что-то новое и потом сшивать эти лоскуты заново воедино, и так до следующей новой забубённой хрени или сюрприза от устройства. Я взял эти данные под контроль. И они могут быть любыми теперь, мне абсолютно на это похеру. У меня всё под контролем, и я обработаю любые данные, и они очень точно обработаются, и в итоге всё правильно будет. В основную программу вернётся истина, а не какое-то приблизительное кратенькое тупенькое предположение, что “возможно, эти данные правильные, подходящие, я точно не знаю, потому что я тупой и там слишком много сложных проверок надо делать, а я не умею ничего, кроме hello world, делать”. А то, что там пока str.isdigit() внутри и его хватает, - это только временное явление. Может быть, оно не изменится. Но, скорее всего, оно не только изменится, но оно ещё и усложнится в десять раз. И я буду готов к этому усложнению, потому что позаботился об этом заранее, а не ждал у моря погоды “авось ничего не поменяется”.