170 похожих чатов

Как считаете, вот так писать (строчный иф внутри ф-строк) норм

или плохой тон?
write(f"Result: {'SUCCESS' if result.command.ok and result.test.ok else 'FAILURE'}")
write здесь это хитрая обертка над print

12 ответов

31 просмотр

Насколько хитрая?

Имхо, так лучше не писать, а вынести логику...

Я бы что то в таком плане бы делал OK = ('FAILURE','SUCCESS') write("Result: " + OK[result.command.ok and result.test.ok])

Patrick [in search of work]
Я бы что то в таком плане бы делал OK = ('FAILURE'...

Так лучше тоже не делать. всякий раз, когда ты кастуешь булевы как 0 или 1, и используешь их как индексы - это приводит к затруднениям в понимании твоего когда. Хорошо, если твой код достанется человеку, знакомому с такими подходами. Но вероятность натолкнуть следующего программиста на ошибку при таких подходах чрезвычайно высока. Лично я не против тернарных операций, но только там, где они оправданы. В примере автора её использование оправдано тем, что описание ведется в одну строку. Но применение самого однострочного сценария не оправдано ничем. Согласен с электроником. Изящнее было бы выделить логику отдельно от вывода. status = "FAILURE" if result.command.ok and result.test.ok: status = "SUCCESS" write(f"Result: {status}") так больше строк, но так совершенно точно понятно программисту что происходит, что пишется, откуда берется, и почему именно так

Alexander
Так лучше тоже не делать. всякий раз, когда ты кас...

Какую ошибку? Если он не поймет то загуглит или спросит у других. Какую ошибку можно получить при использовании bool как int не считая индексерора?

Sergey-Gureev Автор вопроса
Patrick [in search of work]
Насколько хитрая?

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

Sergey-Gureev Автор вопроса
Patrick [in search of work]
Я бы что то в таком плане бы делал OK = ('FAILURE'...

если б не сообщение ниже, я так и не понял, как это работает ))

Sergey-Gureev Автор вопроса
electron!c
Имхо, так лучше не писать, а вынести логику...

особенность в том, что этот статус как раз нужен только для того, чтоб написать его в вывод, больше он нигде не используется но я подумаю, спс

Sergey Gureev
особенность в том, что этот статус как раз нужен т...

Ну делаешь *аргс. И кидаешь свой иф не в ф строке а отдельно. Вот тебе и никто ничего не скажет

Sergey-Gureev Автор вопроса
Sergey Gureev
это да, мне просто нравятся ф-строки ))

просто старайся туда логику не вставлять, даже если они это позволяют))))

Sergey Gureev
особенность в том, что этот статус как раз нужен т...

Просто приннт должен выполнять функцию принята (каким бы он хитрым не был)) В данном случае это затрудняет чтение кода и отладку - вместо того, чтобы посмотреть значение переменной, нужно будет выполнять это выражение Но это имхо)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта