@ru_python

Страница 6980 из 9768
inchgainez
08.11.2018
12:13:06
Привет всем . С чего начать изучение ? Я полный ноль в програмииовании

Aliona
08.11.2018
12:13:25
а то прочитала "чистый код" и вдохновилась, а потом пошла в интернеты, а там говорят, что интерпретируемым языкам тяжеловато делать миллион переходов в поисках функции %)

Artyem
08.11.2018
12:15:09
In[18]: text = "python programming" In[19]: ''.join(dict.fromkeys(text)) Out[19]: 'python rgami'будет замечательно работать на python 3.6+

Google
Alexander
08.11.2018
12:16:02
@ru_python_beginners
Хорошая шутка

inchgainez
08.11.2018
12:16:25
Andrew
08.11.2018
12:18:35
Спасибо
Не спасибо, а "какие книжки"? "Кого порекомендуете"? А мы такие: "ну начни с лутца"

Andrew
08.11.2018
12:19:44
Лутца читаю уже . А потом ?
Там в нем достаточно дорасти до мидла

Aliona
08.11.2018
12:19:46
в смысле?
https://habr.com/post/310590/#comment_9820466 вот эти тезисы меня заинтересовали

Alex
08.11.2018
12:19:47
@yellalena я что-то не могу уловить взаимосвязь между "нисходящим программированием" и "миллионом функций"

Aliona
08.11.2018
12:20:22
@yellalena я что-то не могу уловить взаимосвязь между "нисходящим программированием" и "миллионом функций"
а между "чистым кодом" и "миллионом функций"? :) по крайней мере, книжка учит именно этому

?
08.11.2018
12:20:41
такая проблема когда я записываю music id и принтую его получаю CQADAgADcwIAAtu4IUvU0j6sYa_qOQI и записываю в базу а когда я беру music id по ключу выходит b'CQADAgADcwIAAtu4IUvU0j6sYa_qOQI' с чем это может быть связано?

telegram bot

Alex
08.11.2018
12:21:09
Google
Aliona
08.11.2018
12:21:59
омг, в том комментарии, который вы сбросили какой-то сюр.
ну вот меня тоже он смутил, и это первое мнение в таком духе, что я вижу по этой теме, поэтому и заинтересовалась и решила поговорить об этом, а то может я что-то не так понимаю

Alex
08.11.2018
12:22:15
@yellalena декомпозиция на небольшие блоки, решающие конкретную задачу - это обычная практика в программировании.

Andrew
08.11.2018
12:23:41
?
08.11.2018
12:24:05
.decode("utf-8")
спасибо, помогло

@ru_python_beginners
сделал уже

Alex
08.11.2018
12:24:28
спасибо, помогло
тогда избавь нас пожалуйста от детских вопросов

Aliona
08.11.2018
12:24:39
@yellalena декомпозиция на небольшие блоки, решающие конкретную задачу - это обычная практика в программировании.
я стала сомневаться в правильности этого после тезиса о скорости кода, хотя мне почему-то кажется что разница ничтожно мала, если вместо 5 функций будет, например, 10

Aliona
08.11.2018
12:25:19
Не распарсил, кому что тяжело в итоге? Языкам тяжело? Бывает
а вы по ссылочке перейдите, там очень интересные мысли:)

?
08.11.2018
12:25:44
тогда избавь нас пожалуйста от детских вопросов
если для вас это слишком так просто можно же просто сказать в бегинирах такое не зали

вобщем не суть спасибо за помощь

Google
Alex
08.11.2018
12:27:14
@yellalena еще один очень полезный тезис "преждевременная оптимизация - зло"

Aliona
08.11.2018
12:28:18
Jentry
08.11.2018
12:28:43
а вы по ссылочке перейдите, там очень интересные мысли:)
Не очень бы хотелось, в python функции в dict’е хранятся, с доступом O(1) вне зависимости от их количества. MRO, позднее связывание, все дела

Vyacheslav
08.11.2018
12:32:21
подскажите что происходит с потоком если функция перестает зацикливаться

Alex
08.11.2018
12:32:21
Не очень бы хотелось, в python функции в dict’е хранятся, с доступом O(1) вне зависимости от их количества. MRO, позднее связывание, все дела
тут скорее имеет значение не столько поиск тела функции, сколько накладные расходы на ее вызов, операции со стеком и т.п. но в общем случае на такие нюансы обращать внимания не имеет смысла.

Vyacheslav
08.11.2018
12:32:49
def a(): while f: print('up') sleep(1000)

?? Eugene
08.11.2018
12:32:53
Альтернатива декомпозиции - писать весь код в одной функции? Не очень-то радует перспективка :)

Vyacheslav
08.11.2018
12:33:14
f становится 0 функция отрабатывает а дальше что?

?? Eugene
08.11.2018
12:33:21
Нетестируемая глючная сложная штука получится

Alex
08.11.2018
12:34:33
ну вот, а как бы найти "золотую середину"?
код читается чаще чем пишется. нужно в первую очередь писать код, который легко понимать и поддерживать.

Aliona
08.11.2018
12:34:38
понятно, что в один метод все пихать - ужос и содомия, а насколько корректно плодить "по функции на одно действие" по Мартину, или что-то промежуточное

Vyacheslav
08.11.2018
12:34:40
а если я буду много таких потоков создавать один за другим, мусор от них после их завершения подчистится?

?? Eugene
08.11.2018
12:34:59
ну вот, а как бы найти "золотую середину"?
Лучше всего разбивать минимально-возможные блоки.

Aliona
08.11.2018
12:35:41
а как определять "уровень поддерживаемости" кода?

какие критерии?

Alex
08.11.2018
12:36:10
а как определять "уровень поддерживаемости" кода?
есть формальные метрики, как например цикломатическая сложность. но мое мнение это все очень субьективно.

Jentry
08.11.2018
12:36:56
ну вот, а как бы найти "золотую середину"?
pylinter не пропустит функцию с цикломатической сложностью выше 10, например. Так что просто пиши код и используй линтеры

Google
?? Eugene
08.11.2018
12:37:07
а как определять "уровень поддерживаемости" кода?
Например, можно написать тест к функции, если его написать просто - функция норм, если приходится какие-то немыслимые моки накручивать - то уже проблемы

Alex
08.11.2018
12:37:29
pylinter не пропустит функцию с цикломатической сложностью выше 10, например. Так что просто пиши код и используй линтеры
опять же это не гарантирует того, что функция с меньшей сложностью будет отвечать критерию чистоты кода.

Alex
08.11.2018
12:38:55
спасибо, попробую!
была книга еще Боба Мартина "Чистый код". там рассматриваются в основном конкретные советы по организации кода и стилю. Многие советы применими вне зависимости от языка, естественно применять нужно не буквально, а сознательно.

Можешь начать с PEP8, OpenStack Hacking Guide, использованию линтеров и почитать статьи на тему.

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

Admin
ERROR: S client not available

Alex
08.11.2018
12:40:34
И возможно даже поучаствовать, опыт код ревью будет очень и очень полезен.

Aliona
08.11.2018
12:41:07
код, увы, показать не могу, но за советы низкий поклон и признательность

Alex
08.11.2018
12:42:12
я про эту книгу и говорила выше, и после прочтения ее у меня и возник исходный вопрос:)
Извините, я вначале подумал о книге "Совершенный код" Макконелла

Aliona
08.11.2018
12:42:14
опять же это не гарантирует того, что функция с меньшей сложностью будет отвечать критерию чистоты кода.
у меня скорее все вопросы возникают на почве "вот разбила я метод на пять, как опредить, какие функции правда нужны, а какие можно было бы и не создавать и они только помешают в случае расширения кода"

Alex
08.11.2018
12:42:54
код, увы, показать не могу, но за советы низкий поклон и признательность
я говорил не о код ревью здесь, а об участие в каком-нибудь opensource проекте

Aliona
08.11.2018
12:43:36
а, я поняла

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

Alex
08.11.2018
12:44:44
размышления о качественном и структурированном коде можно было бы растянуть еще на одну статью

Jentry
08.11.2018
12:45:13
у меня скорее все вопросы возникают на почве "вот разбила я метод на пять, как опредить, какие функции правда нужны, а какие можно было бы и не создавать и они только помешают в случае расширения кода"
В случае расширения кода больше даже не разбиение влияет, сколько связность компонентов, смотри в сторону паттерна IoC, можно писать и монолит, но красиво

Aliona
08.11.2018
12:46:11
посмотрю, спасибо!

Google
Alex
08.11.2018
12:46:46
туда же в копилку можно почитать о принципах SOLID

и кстати еще могу порекомендовать книгу "Рефакторинг" Мартина Фаулера.

Aliona
08.11.2018
12:48:36
Ух, нескучное времяпрепровождение в метро на ближайшие пару недель вы мне обеспечили, я так понимаю %) еще раз спасибо!

Eldar
08.11.2018
12:49:12
Ее, мне @Saluev колонку вручил:D

Iliya
08.11.2018
12:49:25
всем привет, у меня простая задача, я ее решил, но посмотрел, подумал и понял, что сделал это убого Может быть кто-то подскажет какой-нибудь более умный и элегантный способ, менее затратный и тд Суть У меня есть два списка с цифрами (обычно а них по 46 цифр) нужно узнать сумму всех чисел Как я сделал - посчитал сумму в первом и втором списках А потом сумму этих сумм.....даже звучит отвратительно, признаю А код еще страшнее summ_mt_list = [round(sum(mt[i*46:(i+1)*46])) for i in range(len(mt))] summ_mo_list = [round(sum(mo[i*46:(i+1)*46])) for i in range(len(mo))] summ_mt_and_mo_list = [i+j for i, j in zip(summ_mt_list, summ_mo_list)] Признаюсь, мне стыдно за такое решение, но хочеться узнать мнение спецов, как сделать красиво и эффективно —- да и получается, что суммы только в [0] элементе :) а потом куча нулей....которые не нужны я еще с [::46] извращался, чтобы 0 убрать

Tigran
08.11.2018
12:50:14
Ее, мне @Saluev колонку вручил:D
Осталось за петон перетереть!

Мой любимый
08.11.2018
12:50:44
Народец, расскажите, как вы пишете большие оопшные штуки с нуля. Сначала планируете всю начинку и потом по порядку кодоебите, или на ходу все, постоянно что-то добавляя и переиначивая?

Eldar
08.11.2018
12:51:18
Крч в реале @Saluev не как на аве выглядит:D

Ser
08.11.2018
12:51:42
? что за срыв покровов

Alex
08.11.2018
12:52:48
всем привет, у меня простая задача, я ее решил, но посмотрел, подумал и понял, что сделал это убого Может быть кто-то подскажет какой-нибудь более умный и элегантный способ, менее затратный и тд Суть У меня есть два списка с цифрами (обычно а них по 46 цифр) нужно узнать сумму всех чисел Как я сделал - посчитал сумму в первом и втором списках А потом сумму этих сумм.....даже звучит отвратительно, признаю А код еще страшнее summ_mt_list = [round(sum(mt[i*46:(i+1)*46])) for i in range(len(mt))] summ_mo_list = [round(sum(mo[i*46:(i+1)*46])) for i in range(len(mo))] summ_mt_and_mo_list = [i+j for i, j in zip(summ_mt_list, summ_mo_list)] Признаюсь, мне стыдно за такое решение, но хочеться узнать мнение спецов, как сделать красиво и эффективно —- да и получается, что суммы только в [0] элементе :) а потом куча нулей....которые не нужны я еще с [::46] извращался, чтобы 0 убрать
а ты можешь показать пример что у тебя в списках хранится? что мешает сделать sum(mt)?

Iliya
08.11.2018
12:53:06
а ты можешь показать пример что у тебя в списках хранится? что мешает сделать sum(mt)?
просто числа, сек Вот [1040, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [1046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [2086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

Мой любимый
08.11.2018
12:55:50
+, дай входные и скажи, что надо

Alex
08.11.2018
12:56:34
а то у тебя в коде какая-то содомия происходит

Jentry
08.11.2018
12:56:54
Крч в реале @Saluev не как на аве выглядит:D
Не так, но очень похоже. Нужно бы всем встретиться что ли, может на митапе очередном, 29 ноября?

Iliya
08.11.2018
12:57:39
а то у тебя в коде какая-то содомия происходит
блин, точно, я затупил это более старый код, так как раньше не с БД работал и списки были nй длинны, и налдо было по 46 элементов считать

Страница 6980 из 9768