Skip to content

Instantly share code, notes, and snippets.

@antonyc
Created May 29, 2020 06:34
Show Gist options
  • Save antonyc/fce489f104161d920e594d438411b12c to your computer and use it in GitHub Desktop.
Save antonyc/fce489f104161d920e594d438411b12c to your computer and use it in GitHub Desktop.
1. в requirements.txt следует пинить версии вообще всех зависимостей (рекурсивно) явно, без этого в питоне нельзя, читай про pyenv / pip freeze например
1. точки входа нет в setup.py, entry_points - без этого трудно запускать проект в продакшене
1. линтера нет - посмотри на flake8 , pep8, из-за этого читаемость кода страдает
1. используй относительные импортs relative imports
1. нет обработки ошибок при работе с сетью - вынеси всю работу с сетью в отдельный package, там лови ошибки типа socket error , urllib error итп
1. вместо urllib используй requests, сильно удобнее https://requests.readthedocs.io/en/master/
1. не следует устанавливать соединение в методах чтения из базы, драйвер базы должен быть отдельно от работы с базой (https://github.com/max-sanch/EasySchoolBot/blob/master/database.py#L51) читай например про clean architecture, разделяй приложение на service-logic, business logic, data representation logic, entry points
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment