andrewgolman / peerreviewbot Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
Эти куски лучше вынести в database.has_user(username)
, database.has_task(taskname)
, потому что в них по сути выполняется SQL запрос, только в два прохода вместо одного.
Lines 15 to 16 in 64dffa6
Line 76 in 64dffa6
Line 85 in 64dffa6
В этих кусках кода используется общая логика, которую неплохо было бы вынести куда-нибудь (например, сделать check_access_decorator
). Ещё мне непонятно, почему в start
мы добавляем юзера, если он есть в чатике, а в остальных функциях этого не делаем.
Lines 40 to 41 in 64dffa6
Lines 46 to 47 in 64dffa6
Lines 58 to 62 in 64dffa6
Lines 67 to 68 in 64dffa6
Lines 104 to 105 in 64dffa6
Lines 117 to 118 in 64dffa6
Внешние параметры лучше засовывать в конфиг, в секцию [telegram], чтобы потом можно было безболезненно смержить все наши конфиги в один.
Line 163 in 64dffa6
Общие предложения: кажется, что не очень хорошо совмещать в одной функции внутреннюю логику и логику взаимодействия с пользователем. Например, в этом коде лучше было бы парсить запрос и вызывать метод PeerReviewBackend.register_user(username)
, который бы добавил юзера и вернул какой-нибудь статус, на основе которого можно было бы сконструировать ответ юзеру.
Lines 57 to 63 in 64dffa6
Плюс, неплохо было бы раскидать функции на два класса: PeerReviewBot
и PeerReviewBackend
, чтобы сделать бота более гибким и заложить основу для консольного интерфейса. К тому же, новый инстанс бота в такой парадигме можно будет запустить очень просто:
# bot_params parsing
...
# init and run bot
bot = PeerReviewBot(*bot_params)
bot.run()
Line 35 in dd228f5
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.