Bogdan (SirEdvin)
А экономия места не приведет к проблемам?)
RAwesoMeat
Скорее просядет производительность, поскольку эта функция вызывается чуть более чем часто.
Bogdan (SirEdvin)
Стоит ещё учитывать, что python ещё и про скрипты
RAwesoMeat
Да. на сях это решило бы массу проблем по скорости во много раз, но есть одна вещь - в питоне есть то, что на сях надо было бы писать дольше. Такой вот расклад, что лень кодера приводит к чуть более увеличенному интервалу ожидания конечного пользователя.
RAwesoMeat
* хотя нет, не лень, увы, дедлайны *
Bogdan (SirEdvin)
Если основное время - это работа с бд, чем помогут си? А если нет, то точно питон, а не завтыки?
Yura
ты больше просядешь в базе, от языка тут мало зависит
Yura
лучше не трогать
Yura
но за такое надо бить по рукам, а сейчас уже поздно
RAwesoMeat
😁 Ну я вот и думаю, как можно сократить 1200 строк? Разбить на подфункции? В принципе можно. Но там формируется достаточно большой контекст (аккумулируется структура данных, каждая часть которой необходима для следующих запросов).
Yura
есть старый принцип, работает - не трогай!!
RAwesoMeat
Подготавливать структуру и гонять ее между вызовами? Можно, но едва ли это сэкономит место, разве что будут сплошные def
RAwesoMeat
есть старый принцип, работает - не трогай!!
Таким принципом руководствовались когда создавали кучу бд на разных серверах под разные направления статистики 😂 пришлось продолжить их идею (примерно так же ответили когда зашла речь о кликхаусе)
Aquinary
Bogdan (SirEdvin)
RAwesoMeat
Или PEP и всё тут!?
Bogdan (SirEdvin)
Я, кстати, не вижу в pep 8 упоминания количества строк
Bogdan (SirEdvin)
В pylint там есть по умолчанию ограничение на 100 строк, но его всегда можно отключить для конкретной функции
Bogdan (SirEdvin)
С комментом почему так сделано.
RAwesoMeat
Есть только длина строки
Bogdan (SirEdvin)
А, ну да, там есть max-module-lines=1000
RAwesoMeat
Думаю, данный вопрос в любом случае скорее религиозный, поскольку с ихсодниками вряд ли кто-то будет дальше работать. А так, между нами говоря, я там еще и строки до 200 символов в ряд увеличил (иначе 1200 строк превратились бы в нечто большее) 😂
Bogdan (SirEdvin)
У меня стоит ограничение на 400, я просто следую правилу, что бы все умещалось в один экран
Bogdan (SirEdvin)
Экраны то уже большие стали
RAwesoMeat
Да, 80 символов - это для консолек уже как-то. А 400 в ширину (или это о макс. кол-ве строк?)?
Bogdan (SirEdvin)
в ширину
RAwesoMeat
☺ мне прям полегчало, часто встречаю противников моих 200
Aquinary
Вопрос по поводу переноса длинных строк. Верно ли, или нет?
Vladimir
Aquinary
ктото бота пилит)
Уже напилен, дважды, второй раз с классами, сейчас привожу кодец в порядок, чтобы на гитлаб репу залить, чтобы не потерять)
Vladimir
а т.к. я за хаос, то перенос строк не для меня, путь будет каша)
Aquinary
Aquinary
Или равнять параметры по скобочке открывающей?
Vladimir
между параметром и "=" пробел и между "=" и выражениями пробел
Vladimir
но вроде стандарта конкретного нет, все делается для удобства восприятия. на мой спартанский взгляд выглядит хорошо
Aquinary
Aquinary
Угусь. Так и есть. Наверное, я даже согласен с ними в этом моменте)
Vladimir
Aquinary
Мне это нравится
Vladimir
а смотри, там говорится что не использовать пробелы если указываешь в коде значение ключа по умолчанию, а у тебя это значения не по умолчанию, они у тебя в логике задействованы
Aquinary
keywords arguments
Aquinary
"для обозначение аргумента-ключа или значения по умолчанию"
Aquinary
Что, похоже, не одно и тоже
Aquinary
Но я могу ошибаться)
Bogdan (SirEdvin)
:param arg1: description
:param arg2: description
:type arg1: type description
:type arg1: type description
:return: return description
:rtype: the return type description
Bogdan (SirEdvin)
Хотя может где-то и лежит плагин для этого
Aquinary
Интересненько... надо и это попробовать
Bogdan (SirEdvin)
Окей, значит мой косяк(
Aquinary
Ну, то, мне скинули - слишком перегруженным кажется, во всяком случае пока.
У меня сейчас и так получается 17 строк доков и 1 строка кода :D
Сергей
всем привет! подскажите, пожалуйста, как можно замокировать итерируемый объект, чтобы при проходе с помощью for .. in получать требуемые значения? мокирование __getitem__ и __len__ не дало желаемого результата, к сожалению
Bogdan (SirEdvin)
Bogdan (SirEdvin)
Мда, только так)
Сергей
взлетело, спасибо! с MagicMock так не получалось)
Aquinary
Очень сложно с 80 символами, увеличил до 100)
Bogdan (SirEdvin)
Я бы сразу до 200 увеличил
Bogdan (SirEdvin)
Там важно, что бы влазило в средний рабочий экран
Bogdan (SirEdvin)
А само количество не очень важно, как мне кажется
Aquinary
Ну, у меня дома нормальный фуллхд моник, а на работе 1366 который, а часто надо два файлика в рабочей области держать
Bogdan (SirEdvin)
Тогда, конечно, без вариантов)
λ
λ
Для pop(0) это получается O(n)?
Для pop() это O(1)?
Boris
да
Mark ☢️
Mark ☢️
И перед чат айди равно поставь ентер
Anonymous
Что за фигня - не получается импортировать модель, которая лежит в папке ~/api/models/models.py(модель - это класс Users). Импортирую в файл ~/api/core/backup.py
Anonymous
python3.6 backup.py
Traceback (most recent call last):
File "backup.py", line 2, in <module>
from models.models import Users
ModuleNotFoundError: No module named 'models'
λ
__init__.py есть?
Anonymous
Да, есть
Anonymous
Самое забавное - если запускать через gunicorn, всё заработает.
λ
Из api запускаешь?