Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 4, 2023 00:03:38

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9849
Репутация: +  853  -
Профиль   Отправить e-mail  

Ping bot для сервера

Сверху в виде кода записаны объекты, на которые это всё разделяется. Это не код, а просто иллюстрация.

ZerG
я совершенно не понял откудова ты взял монолит и 10-1000 строк
Монолит возникает у тебя на одной машине, где стоит весь софт, относящийся к боту. Разделён он на файлы или не разделён - неважно. Дело в том, что тебе при любых новых нововведениях придётся его менять. Это проблема BASIC'а. Там можно было записать всё в одной процедуре, использовать там GOTO везде, который на строки переходил по номеру, и всё выглядело прекрасно и красиво, пока не нужно было его поменять для чего-то. И вот когда надо было спустя какое-то время его поменять, то его меняли в итоге (а что делать? не писать же заново), и вот тогда и возникала борода на бороде. Ещё и системы контроля версий отсутствовали, в которых это всё как-то можно было фиксировать и как-то это облегчать всё.

Я же предлагаю что. Написать этого бота. Отделить его от опросников полностью. Бот не знает, куда он там и зачем обращается. У него есть просто набор команд. Крутится он постоянно и доступен всем и всегда. А дальше ты его подсоединяешь к этим опросникам. Вначале у тебя один опросник сети. Да, вначале он один, но потом-то их может появиться штук сто. И когда он один, это подбивает тебя на то, чтобы сделать бот там, где этот опросник и стоит, причём сделать ботоопросник. То есть бот сам по себе является и опросником одновременно. Вот какой ты умный, типа вот так ты умно сделал и короткий код получил при этом и так далее. Но это не так. Потому что код должен быть открыт для изменений, он должен быть легко меняемым. Это мы даже не про O из SOLID говорим, это мы говорим вообще про базовое свойство программ. Если код неменяемый, то ты его выбросишь потом, потому что он станет легаси-кодом, который невозможно менять.

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

Вот смотри, что я предлагаю

Как видишь, сетей здесь дохера, при этом опросники ничего не знают про бота. При этом это всё можно дальше продолжать вниз, заходить из сетей в сети и так далее, бот при этом не затрагивается вообще никак. Почему? Потому что он свою функцию выполняет только для пользователей Telegram'а. Вот он только для них нужен и всё. Естественно, ты этих ботов можешь понаделать дохрена и больше и каждый из них может лазить куда хочет, хоть в сети, хоть за кофе ходить.

Это разбиение системы на модули. Модуль - это отдельная изолированная часть системы, у которой есть внешний интерфейс и внутренняя реализация, инкапсулированная в нём, недоступная никому снаружи. Даже если модуль содержится где-то в чём-то, в другом модуле, например, то этот содержатель не может пролезть внутрь этого модуля, потому что доступ внутрь модуля открыт только через интерфейс этого модуля.


tags: module



Отредактировано py.user.next (Июнь 5, 2023 00:14:40)

Прикреплённый файлы:
attachment bot.png (24,4 KБ)

Офлайн

#2 Июнь 4, 2023 01:55:05

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Ping bot для сервера

Ты ебонулся на отличненько
Или ты сам - бот.
Повторюсь я импортю сенд месадж
и луплю его как лог
или принт
Но по моему тебе плевать ты должен кому то что-то донести
Как я выше написал я понятия не имею к твоим идеям как и автор поста
Пиши исчо

Дело в том, что тебе при любых новых нововведениях придётся его менять
Ты ведь не читаешь что пишут да?



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Отредактировано ZerG (Июнь 4, 2023 01:59:53)

Офлайн

#3 Июнь 4, 2023 15:26:38

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9849
Репутация: +  853  -
Профиль   Отправить e-mail  

Ping bot для сервера

ZerG
Но по моему тебе плевать ты должен кому то что-то донести
Я тебе доношу. Когда ты вырастешь до того уровня, когда тебе надо будет писать такие проги - не два притопа три прихлопа, вот как сейчас ты пишешь, а нормальные, строк на тысяч пять, - тогда ты будешь что-то такое изучать дополнительно и придёшь сюда и перечитаешь это сообщение моё. И вот для тебя того, который придёт и будет перечитывать, я пишу это всё, чтобы ты тот мог чему-то научиться. Я тебе как бы в будущее пишу.

ZerG
Как я выше написал я понятия не имею к твоим идеям как и автор поста
А автора поста здесь уже не будет к тому времени и в помине.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version