Типичные улучшения

Для поиска по тегу начните название тега с символа '@'.

Улучшения, показаны 50 из 53.

Проверьте репозиторий(репозитории) на GitHub

Публикация кода на GitHub прошла с ошибками. Убедитесь сами - зайдите на сайт GitHub и …

Удалите media/ из репозитория

Если медиа-файлы лежат в репозитории, то они обязательно попадут на сервер вместе с очередным обновлением …

Перезалейте репозиторий

Когда открываешь репозиторий, ожидается сразу увидеть проект с документацией. Если несколько проектов лежат в одном …

Удалите БД из репозитория

БД в репозитории не хранят по нескольким причинам: - Если случайно опубликовать БД с данными …

Не просите менять настройки в файлах репозитория

Локальные настройки проекта не должны попасть в общий репозиторий. Самый простой и надёжный способ этого …

Удалите из репозитория старые установочные файлы

В репозитории есть целый набор файлов для установки зависимостей. Какие из них актуальны и находятся …

Удалите media/ из репозитория

Если медиа-файлы лежат в репозитории, то они обязательно попадут на сервер вместе с очередным обновлением …

Добавьте в репозиторий .gitignore

Этот файл защитит ваш репозиторий от разного мусора. Также к “мусору” относятся папки `.idea`, `__pycache__`, …

Зафиксируйте изменения в репозитории на сервере

Незакомиченные изменения могут помешать накатить очередное обновление проекта. Консольный `git` откажется обновлять код, если возникнет …

Удалите БД из репозитория

БД в репозитории не хранят по нескольким причинам: - Если случайно опубликовать БД с данными …

Положите статику в репозиторий

В репозитории не хватает файлов статики. Без них сайт в браузере отображается некорректно.

Не просите менять настройки в файлах репозитория

Локальные настройки проекта не должны попасть в общий репозиторий. Самый простой и надёжный способ этого …

Подключитесь к git-репозиторию по ssh

При каждом деплое GitHub будет запрашивать ваши логин и пароль. Это жутко неудобно. Настройте remote …

Удалите из репозитория старые установочные файлы

В репозитории есть целый набор файлов для установки зависимостей. Какие из них актуальны и находятся …

Положите деплойный скрипт в репозиторий

Деплойный скрипт -- не одноразовый. Это часть кода, часть его поставки. Его тоже нужно будет …

Сделайте коммиты понятнее

Название коммита важно. Это единственное место, где написано "зачем" были внесены изменения в этом коммите.

Разбейте коммит на несколько атомарных

Если объединять много правок в один коммит, то вся история изменений будет складываться из названий …

Спрячьте чувствительные данные

Не стоит хранить в коде токены, секретные ключи и прочие пароли. Код рано или поздно …

Воспользуйтесь Git-ом

Начну с терминов: Git и GitHub — это разные вещи. GitHub — это место для …

Предоставьте образец входных данных

Если программа требует данных в особом формате, то пользователю надо их взять откуда-то или подготовить …

Используйте отдельные коммиты для каждого улучшения

Здесь и далее оформляйте **каждое** улучшение в отдельный коммит. Это поможет отточить навыки работы с …

Добавьте файл с зависимостями

Без точных инструкций установка программы превращается в головную боль.

Исправьте битую ссылку

Если в ссылке нет ошибок, то она будет вести на нужную страницу или откроется заданная …

Спрячьте чувствительные данные

Не стоит хранить в коде токены, секретные ключи и прочие пароли. Код рано или поздно …

Отделить backend frontend

Отделить backend frontend

Добавьте файлы миграций БД

Если обновление в коде требует изменений структуры БД, а файлов с миграциями в репозитории не …

Изолируйте миграцию от остального кода

В миграциях Django ни в коем случае нельзя использовать код из models.py и прочих файлов …

Создать .env и использовать в docker-compose по назначению

Создать .env и использовать в docker-compose по назначению

Соблюдайте запрет на табы

В сообществе программистов Python запрещено использовать символы табуляции в качестве отступа перед блоком кода. Стандарт …

Удалите отладочные print

Эти вызовы `print` уже выполнили свою задачу, помогли отладить код. Теперь от них больше вреда …

Спрячьте SECRET_KEY

В файле settings.py есть настройка `SECRET_KEY` — это секретный ключ, с помощью которого шифруют пароли …

Запретите null в строковых полях БД

Если в CharField разрешить хранить `None`, то в каждом запросе к базе придется указывать сразу …

Укажите related_name

Писать запросы к БД будет проще, если обратные связи сразу получат говорящие названия — `related_name`. …

Укажите related_name во множественном числе

Если `related_name` указан в единственном числе, то запросы с его участием выглядят очень странно. Проблема …

Замените поля CharField / TextField

В базе данных `CharField` и `TextField` представлены по-разному. `CharField` — это поле фиксированного размера, в …

Разбейте документацию на разделы

Когда в документации один текст, тратится много времени на прочтение, чтобы узнать, например, как установить …

Переместите файл в статику

Все картинки на сайте делятся на две группы: статику и медиа. Первые намертво пришиты к …

Разрешите пользователю указать другой путь к файлу

Зачастую пользователи хранят данные отдельно от программ. И тогда либо программа позволит указать нестандартный путь …

Предоставьте образец входных данных

Если программа требует данных в особом формате, то пользователю надо их взять откуда-то или подготовить …

Расскажите как запустить оффлайн-библиотеку

Ваш заказчик хотел, чтобы сайт был доступен оффлайн. В репозитории есть код, какие-то файлы, но …

Отделите STATIC_ROOT от STATICFILES_DIRS

Пока мы занимаемся отладкой django берёт на себя функции веб-сервера и веб-приложения. Обычно эти роли …

Используйте livereload cli

Библиотека livereload предоставляет два интерфейса. Есть обычная библиотека, её можно импортировать и вызвать одну из …

Уточните название файла

Названия файлов важны. Хорошее название подсказывает программисту, что лежит в файле и куда писать новый …

Измените настройки STATICFILES_DIRS

После `BASE_DIR` папка верхнего уровня у всех путей одна

Вынесите конфиг наружу Dockerfile

Концепция контейнеризации приложений делит процесс поставки кода на два этапа, и у каждого из них …

Сообщайте о деплое только после окончания деплоя

Вы уже сообщили в Rollbar о успешном деплое, но ведь его ещё не состоялось! А …

Удалите makemigrations из деплойного скрипта

Django просит вас вручную создавать все необходимые файлы специально. Ведь могла бы и генерировать их …

Не удаляйте миграции БД

**Что сделано, то сделано.** Но больше так не делайте, пожалуйста. Django работает с миграциями примерно …