Bayselonarrend / OpenIntegrations

An 1C:Enterprise/OneScript and CLI toolbox for integration with APIs of popular online services (Telegram, VK, Viber, Bitrix24, Drive, Slack, etc.)
https://openintegrations.dev
MIT License
214 stars 25 forks source link

[Предложение] (OSCRIPT) Сделать модули OPI - Классами #16

Closed Segate-ekb closed 6 months ago

Segate-ekb commented 6 months ago

Существующая проблема На данный момент каждый метод из блока OPI содержит довольно много дублирующийся информации(например токен в тг передается во все методы.) из за чего использование интеграции получается не столь лаконичным как могло бы.

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

OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, IDЧата, Текст);
OPI_Telegram.ОтправитьКартинку(Токен, IDЧата  , Текст, Картинка);

Стало

чат = Новый OPI_telegram(Токен, IDЧата)
// Методы становятся более лакончиными и понятными, Меньше дублирования информации меньше поля для ошибки. Легче читать
чат.ОтправитьТекстовоеСообщение(Текст);
чат.ОтправитьКартинку(Текст, Картинка);
Bayselonarrend commented 6 months ago

Мне не нравится, потому что это сильнее разветвляет кодовую базу версии для 1С и версии для OneScript.

Не уверен просто что это будет настолько полезно, чтобы учить пользователя из 1С писать по другому в OS, делать дополнительные заметки в документации и поддерживать отдельный функционал, который весь на текущий момент просто копируется из библиотеки для 1С практически без изменений