Size: a a a

2020 April 19

V

Vlad🍁 in aiogram [ru]
От души
источник

q

quavo in aiogram [ru]
это тишка часто скидывает
источник

EF

Evgen Fil // 🤔 via @... in aiogram [ru]
quavo
Переслано от
Глобальные переменные в большинстве случаев нарушают инкапсуляцию. К ним открыт неконтролируемый доступ отовсюду.
В большом проекте при обилии глобальных переменных возникает путаница в именах. Глобальную переменную же видно отовсюду, надо, чтобы отовсюду было понятно, зачем она.
Глобальные переменные в большинстве случаев нарушают принцип инверсии зависимостей (или делают возможным его нарушение).
Глобальные переменные ухудшают масштабируемость проекта.
Глобальные переменные ухудшают читаемость кода (в каком-то конкретно взятом месте непонятно, нужна ли какая-то конкретная глобальная переменная, или нет).
Глобальные переменные приводят к трудноуловимым ошибкам. Примеры: нежелательное изменение её значения в другом месте/другим потоком, ошибочное использование глобальной переменной для промежуточных вычислений из-за совпадения имен, возвращение функцией неправильного значения при тех же параметрах (оказывается, она зависима от глобальной переменной, а ее кто-то поменял).
Глобальные переменные создают большие сложности при использовании модульного тестирования.
Глобальные переменные увеличивают число прямых и косвенных связей в системе, делая её поведение труднопредсказуемым, а её саму - сложной для понимания и развития.
Если уж на то пошло...
источник

ЮЧ

Юрий 👨‍🔬 Чебышев... in aiogram [ru]
Глобалы вроде понятно, что хуйня ненужная, почему синглтоны плохи я так и не понял.

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

EF

Evgen Fil // 🤔 via @... in aiogram [ru]
Действительно)
источник

V

Vlad🍁 in aiogram [ru]
Юрий 👨‍🔬 Чебышев
Глобалы вроде понятно, что хуйня ненужная, почему синглтоны плохи я так и не понял.

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

V

Vlad🍁 in aiogram [ru]
Но так и непонятно почему
источник

G

Gabben in aiogram [ru]
Evgen Fil // 🤔 via @thinkerybot
Действительно)
Да, все так
источник

G

Gabben in aiogram [ru]
Vlad🍁
Но так и непонятно почему
Потому что обладают свойствами из пасты выше
источник

EF

Evgen Fil // 🤔 via @... in aiogram [ru]
quavo
Переслано от
Глобальные переменные в большинстве случаев нарушают инкапсуляцию. К ним открыт неконтролируемый доступ отовсюду.
В большом проекте при обилии глобальных переменных возникает путаница в именах. Глобальную переменную же видно отовсюду, надо, чтобы отовсюду было понятно, зачем она.
Глобальные переменные в большинстве случаев нарушают принцип инверсии зависимостей (или делают возможным его нарушение).
Глобальные переменные ухудшают масштабируемость проекта.
Глобальные переменные ухудшают читаемость кода (в каком-то конкретно взятом месте непонятно, нужна ли какая-то конкретная глобальная переменная, или нет).
Глобальные переменные приводят к трудноуловимым ошибкам. Примеры: нежелательное изменение её значения в другом месте/другим потоком, ошибочное использование глобальной переменной для промежуточных вычислений из-за совпадения имен, возвращение функцией неправильного значения при тех же параметрах (оказывается, она зависима от глобальной переменной, а ее кто-то поменял).
Глобальные переменные создают большие сложности при использовании модульного тестирования.
Глобальные переменные увеличивают число прямых и косвенных связей в системе, делая её поведение труднопредсказуемым, а её саму - сложной для понимания и развития.
Соглашусь только с предпоследними двумя
источник

V

Vlad🍁 in aiogram [ru]
Gabben
Потому что обладают свойствами из пасты выше
Не всеми же
источник

T

Tishka17 in aiogram [ru]
    on_pre_process_message = on_pre_process_message
   on_pre_process_edited_message = on_pre_process_message
   on_pre_process_channel_post = on_pre_process_message
   on_pre_process_edited_channel_post = on_pre_process_message
   on_pre_process_inline_query = on_pre_process_message
   on_pre_process_chosen_inline_result = on_pre_process_message
   on_pre_process_callback_query = on_pre_process_message
   on_pre_process_shipping_query = on_pre_process_message
   on_pre_process_pre_checkout_query = on_pre_process_message
   on_pre_process_poll = on_pre_process_message
   on_pre_process_poll_answer = on_pre_process_message
   on_pre_process_error = on_pre_process_message


пришлось так. я же верно понял?
источник

ЮЧ

Юрий 👨‍🔬 Чебышев... in aiogram [ru]
А данные в стейте это глобалы?
источник

EF

Evgen Fil // 🤔 via @... in aiogram [ru]
Evgen Fil // 🤔 via @thinkerybot
Соглашусь только с предпоследними двумя
Увы и ах, во всех случаях нужно быть просто осторожнее
источник

T

Tishka17 in aiogram [ru]
Юрий 👨‍🔬 Чебышев
Глобалы вроде понятно, что хуйня ненужная, почему синглтоны плохи я так и не понял.

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

G

Gabben in aiogram [ru]
Tishka17
    on_pre_process_message = on_pre_process_message
   on_pre_process_edited_message = on_pre_process_message
   on_pre_process_channel_post = on_pre_process_message
   on_pre_process_edited_channel_post = on_pre_process_message
   on_pre_process_inline_query = on_pre_process_message
   on_pre_process_chosen_inline_result = on_pre_process_message
   on_pre_process_callback_query = on_pre_process_message
   on_pre_process_shipping_query = on_pre_process_message
   on_pre_process_pre_checkout_query = on_pre_process_message
   on_pre_process_poll = on_pre_process_message
   on_pre_process_poll_answer = on_pre_process_message
   on_pre_process_error = on_pre_process_message


пришлось так. я же верно понял?
источник

EF

Evgen Fil // 🤔 via @... in aiogram [ru]
Tishka17
    on_pre_process_message = on_pre_process_message
   on_pre_process_edited_message = on_pre_process_message
   on_pre_process_channel_post = on_pre_process_message
   on_pre_process_edited_channel_post = on_pre_process_message
   on_pre_process_inline_query = on_pre_process_message
   on_pre_process_chosen_inline_result = on_pre_process_message
   on_pre_process_callback_query = on_pre_process_message
   on_pre_process_shipping_query = on_pre_process_message
   on_pre_process_pre_checkout_query = on_pre_process_message
   on_pre_process_poll = on_pre_process_message
   on_pre_process_poll_answer = on_pre_process_message
   on_pre_process_error = on_pre_process_message


пришлось так. я же верно понял?
Препроцесс сообщения = ... Препроцесс сообщения!
источник

T

Tishka17 in aiogram [ru]
Юрий 👨‍🔬 Чебышев
Глобалы вроде понятно, что хуйня ненужная, почему синглтоны плохи я так и не понял.

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

T

Tishka17 in aiogram [ru]
Evgen Fil // 🤔 via @thinkerybot
Препроцесс сообщения = ... Препроцесс сообщения!
упс =D
источник

T

Tishka17 in aiogram [ru]
Evgen Fil // 🤔 via @thinkerybot
Действительно)
вы снова путатете инкапсуляцию и ограничение доступа
источник