LINUX.ORG.RU

Питонячьи радости

 ,


0

4

Отступы, блин

Был у меня код вида:

for blah-blah-blah :
    # какой-то код
    if что-то :
         # код
    else:
        # ещё код

Код скопипастил из одного места программы в другой. При этом не заметил как отступы нарушились. Ну вы поняли, да? Стало:

for blah-blah-blah :
    # какой-то код
    if что-то :
         # какой-то код
else:
      # ещё код

И вот это мне стоило довольно большого количества потеряного времени. Условие else: стало относиться не к if, а к циклу for. Учитывая, что тело цикла было достаточно длинным, как-то не бросалось в глаза, что else уехал не туда. Мать-перемать, но код после этого даже почти нормально работал.

Еще уже мелочь относительная, но все же, чего-то не подумав захотел поработать с гугл драйвом прямо из своего кода и недолго думая сделал pip install --upgrade google-api-python-client - и это разрушило всё. Благо, что от юзера, а не рута, вылечилось сносом .local и повторной накаткой некоторых модулей

★★★★★

Последнее исправление: anonymous_incognito (всего исправлений: 3)

Ответ на: комментарий от flant

для определения типа ты можешь использовать что угодно, что для этого предназначено. проблема в том, что ты решил, что bar(s: str) - предназначено и ругаешь язык за то, что он ведёт себя не так как ты себе нафантазировал.

Проблема в том, что

не питонист и не разработчик если что

мог бы поосторожнее рассуждать о том, о чем не ведает, в частности, что я себе «нафантазировал». Ребятам пыхтонщикам должно быть стыдно в наше время, отрицать проблемы, из-за которых в сущности очень даже неплохой ЯП пинают ногами по делу, потому что это отрицание накопленной статистики использования питончика не по назначению. А проблемы в том, что, кроме лиспа, мало какой динамически типизированный язычок может позволить строчить километры исходников, чтобы всё это добро не начало разваливаться. У всех, кто в это уперся, такая проблема есть, у фанатов ее нет. Вон, товарищ утверждает, что в Джаве справляются не благодаря статической типизации, а за счет вменяемого подхода к именованию сущностей. Надо же какой волшебный метод, почему же магия не работает в питоне (а также прочей скриптодрисне, наподобие джаваскрипта — и зачем TypeScript придумали, вот бы вменяемо сущности именовать научились, и всё рулило бы и бибикало)?

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

TypeScript придумал создатель сисярпа и дельфей для своих макак, нежелающих учить что-то кроме сисярпа. Бред не пиши. Для шарпистов еще целый фреймворк запилили Ангуляр, ага, который эротично вписывается в мир терминов Удод.Net. Ты слышал звон как грится

rtxtxtrx
()
Ответ на: комментарий от Virtuos86

Да, это факт.

Отсутствие статической проверки типов в разы повышает трудозатраты на рефакторинг кода и любые модификации крупной кодовой базы.

Потому что очевидные вещи, которые могла бы отслеживать IDE, а компилятор бы просто не давал компилировать заведомо неверный код, вызывающий несуществующие методы или передающий неверные типы аргументов, в динамических ЯП приходится отлавливать черезжопными способами.

wandrien ★★
()

Шутка об отступах в Питоне.

Тётя Соня, не вертите задом,
Это не пропеллер, а вы не самолёт.
Две шаги налево, две шаги направо,
Шаг вперёд - наоборот.
Forum0888
()
Ответ на: комментарий от sbu_shpigun

Следующий шаг, видимо, заставлять их переписывать не клавиатурой, а ручкой на бумаге. Кто недоволен — тот криворукий и ленивый.

Почему в других ЯП таких проблем нет?

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)