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

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

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

Упакуйте настройки доступа к БД в один URL

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

Проиллюстрируйте то, о чём говорите

Некоторые вещи проще один раз показать, чем описывать словами. Сравните два описания: > Для работы …

Уточните название класса

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

Переопределите SECRET_KEY

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

Не подменяйте увиденное выводом

Вы перешли от увиденного сразу к выводу. Это плохо, потому что ваш вывод может оказаться …

Разделите конфиги docker compose для разных окружений

Разделение конфигураций Docker Compose для разных окружений имеет несколько преимуществ: 1. **Гибкость и переносимость**: Разделение …

Обновите комментарии в коде

Комментарии в коде - тоже часть кода. За ними нужно следить, их нужно поддерживать в …

Используйте None как пустое значение

В Python есть специальный объект для обозначения пустого значения — `None`. Его возвращают функции, когда …

Разбейте длинные строки на части

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

Сократите использование скобок

Обилие скобок в тексте — признак слишком сложной структуры. Лишние скобки осложняют чтение программы.

Уберите лишние преобразования типов

Преобразования типов бывают лишними. Посмотрите на эти строки кода: ```python text = 'Найдено {} записей'.format(str(len(records))) …

Разбейте сложные выражения на части

Сложно понять что происходит в коде, когда в одной строке выполняется сразу много операций: вызовов …

Оптимизируйте декодирование JSON

Превращение JSON строки в структуру данных Python требует много процессорного времени. Этот ресурс не безграничен, …

Упростите доступ к данным

Добраться до нужного фрагмента во вложенной структуре данных бывает не просто: ```python json_data['new_attempts'][0]['lesson_title'] ``` Таких …

Добавьте поддержку других доменов Bitly

Чаще всего Bit.ly генерирует ссылки, начинающиеся с домена `bit.ly/`, но это не всегда так. Сервис …

Используйте общепринятые сокращения

Здорово, когда для переменной удается подобрать короткое и одновременно понятное название. Но если все же …

Добавьте в README инструкции по установке

При чтении документации пользователя прежде всего интересует как установить программу.

Удалите неиспользуемый код

За неиспользуемым кодом никто не будет следить, ведь он никому не нужен. А раз так, …

Очистите функции

В программировании есть такое понятие — *чистая функция*. От прочих она отличается тем, что не …

Уточните название функции

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

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

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

Высушите названия

Никто не хочет читать водянистый текст, в котором смысл прячется за пятиэтажными оборотами и десятками …

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

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

Избавьтесь от условий if при логировании

Вот так делать не надо: ```python if logging_enabled: logging.info(f"Data loaded!") ``` Все эти `if` сильно …

Вынесите вставки кода в отдельные блоки

В Markdown есть два формата для вставок кода. Первый — это inlines. Его применяют для …

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

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

Удалите пробелы из примера .env

В вашем README есть пример заполнения файла с конфигами. Дело в том, что так их …

Требуйте меньше настроек CLI

Сейчас ваш проект очень муторно разворачивается: вы **требуете** от пользователя прописать кучу настроек для первого …

Уточните название класса в HTML

Название классов так же важны, как и названия переменных, функций. Именно классы связывают html-теги со …

Воспользуйтесь циклами

При написании программ часто возникает потребность делать одно и то же действие для нескольких объектов. …

Избавьтесь от my_...

Если эта переменная "ваша", то кто создавал остальные? :) Из-за этого префикса `my_` весь проект …

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

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

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

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

Раскройте продуктовую ценность программы

В описании работы программы крайне нежелательно оперировать терминами "переменная", "функция", "цикл" и так далее. Ещё …

Вынесите настройку ALLOWED_HOSTS

В файле settings.py есть настройка `ALLOWED_HOSTS`, она нужна для безопасности вашего сайта, защищает вас от …

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

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

Не путайте date, time и datetime

`date` -- это дата, например, `01.01.2001`. `time` -- время, например, `18:45:15`. `datetime` -- это когда …

Перепроверьте инструкции в документации

Инструкции в документации неполны либо содержат ошибки. Возможно, инструкции просто устарели со временем. Воспринимайте инструкции …

Используйте json_script

Перенести из template во view

Отключите DEBUG на продакшн-версии сайта

Сейчас ваш сайт запущен как бы "в режиме продакшна", но у сайта включен дебаг. Из-за …

Замените дефолтное значение DEBUG на False

Дефолтные значения должны быть безопасными. В этом их смысл: иногда настройки с дефолтными значениями будут …

Подберите говорящие названия для переменных

В коде программист ориентируется по названиям. Если они не сообщают ему ничего полезного, то дела …

deprecated
Подставьте в команду переменные окружения

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

deprecated
Подберите говорящие названия для переменных

В коде программист ориентируется по названиям. Если они не сообщают ему ничего полезного, то дела …

deprecated
Избавьтесь от data в названиях

Невероятно, но факт. Данные хранятся почти в каждой переменной любой программы написанной за последние полвека! …

deprecated
Не используйте пайплайны для функций

Сейчас все функции вызываются пайплайном (друг в друге), вот так: ```py def first_func(): ... ... …

deprecated