Улучшения, показаны 50 из 540.
В программировании есть такое понятие — *чистая функция*. От прочих она отличается тем, что не …
В Python избегают сравнений с нулём `== 0`. В языке достаточно инструментов, чтобы записать ту …
В Python предусмотрена специальная короткая запись на случай, если вы добавляете в словарь новый ключ …
Метод `window.getmaxyx()`, несмотря на своё название, возвращает не координаты крайней ячейке, а ширину и высоту …
Стандартный `enumerate` можно настроить так, чтобы он начинал индексировать не с нуля, а с единицы …
Сложность и объем кода сильно зависят от качества данных. Чем меньше там мусора, тем проще …
HTML требует, чтобы содержимое атрибутов было обернуто в кавычки. Так неправильно: ```html ``` Так верно: …
Названия функций важны. Хорошее название подсказывает программисту, что делает код функции и что он вернёт …
Cуществует стандартная схема кода: 1. Создается логер в шапке файла 2. Сообщения отправляют функций внутри …
Временные файлы в коде — это постоянная головная боль. Их надо удалять после использования. Их …
В Python не принято сравнивать с пустой строкой. В языке достаточно инструментов, чтобы записать ту …
Цикл по корутинам (event-loop) пропускает запуск отдельных корутин и работает нестабильно. Проблему демонстрирует следующий фрагмент …
Если `related_name` указан в единственном числе, то запросы с его участием выглядят очень странно. Проблема …
Когда asyncio закидывает внутрь корутины `CancelledError`, то ожидает что исключение всплывет вверх по стеку вызовов …
В Python есть особый вид строк, начинающихся с символа `r` перед кавычками: `r'Строка текста'`. Их …
В базе данных `CharField` и `TextField` представлены по-разному. `CharField` — это поле фиксированного размера, в …
Обычно логер нужен сразу внутри многих функций, и, чтобы не вызывать `getLogger` много раз внутри …
В репозитории есть целый набор файлов для установки зависимостей. Какие из них актуальны и находятся …
В Markdown разметке легко ошибиться — поставьте один лишний символ \` и вы сломаете форматирование …
Названия переменных, код и консольные команды внутри документации принято оформлять особым образом — как вставки …
Подсветка синтаксиса заметно облегчает чтение кода. Сразу становится видно где вызвана функция, где начинается цикл …
По названию переменной сложно догадаться, что речь идёт о настройках базы данных. Обычно используют префикс …
Название атрибута `timedelta.seconds` часто вводит в заблуждение. Сначала кажется, что речь идёт об общем количестве …
Стандартные `gather` и `wait` настолько опасны в использовании, что лучше сразу от них избавиться. Они …
Миграция выглядит сломанной. Такое случается, если не протестировать её после изменений в коде. И это …
Когда в документации один текст, тратится много времени на прочтение, чтобы узнать, например, как установить …
Публикация кода на GitHub прошла с ошибками. Убедитесь сами - зайдите на сайт GitHub и …
Если медиа-файлы лежат в репозитории, то они обязательно попадут на сервер вместе с очередным обновлением …
Файл `.gitkeep` необходим для папок, в которых нет файлов. Пустые папки `git` записывать отказывается, поэтому, …
Документация — тоже часть кода. За ней тоже стоит следить и ухаживать.
БД в репозитории не хранят по нескольким причинам: - Если случайно опубликовать БД с данными …
Никто не будет использовать ваш код, если вы не расскажете, что он делает. Поэтому в …
В Python не принято сравниваться с `None` без особой на то необходимости. Без `None` код …
Когда хочется почитать пост — хочется кликнуть по картинке или броскому заголовку [здесь](https://dvmn.org/filer/canonical/1577994963/457/) или [здесь](https://dvmn.org/filer/canonical/1577735594/453/).
Оля хотела, чтобы рядом с комментариями [была подпись](https://dvmn.org/media/12.PNG). Не стоит отклоняться от её ТЗ без …
Точка в конце предложения обозначает конец одной мысли и начало следующей. Это элемент форматирования текста, …
Чем больше информации в документе, тем сложнее его понять. Бывает, что в документе всё на …
При вызове метода `QuerySet.get` помимо исключения `DoesNotExist` возможна еще одна ситуация — вместо одной записи …
Подсчёт количества повторов — это настолько частая задача, что для неё в Python есть готовый …
В Django ORM есть много полезных методов. Один из них — это `first`. Он позволяет …
Если в ссылке нет ошибок, то она будет вести на нужную страницу или откроется заданная …
Чем больше в программе кода, тем сложнее в нём разобраться. Чем труднее разбираться, тем меньше …
Никто не хочет читать водянистый текст, в котором смысл прячется за пятиэтажными оборотами и десятками …
Если в запросе не указан способ сортировки, то, значит, он не важен. База данных сделает …
В третьей версии Python есть стандартный способ достучаться до методов предка из класса с наследованием. …
Каждый программист сам выбирает какой уровень логирования назначить сообщениям в логе — будeт это DEBUG, …
При вызове метода `QuerySet.get(…)` может так случиться, что искомой записи в базе не будет, и …
У второй версии Python были проблемы с поддержкой кириллицы в коде. Он считал, что код …
В шаблонах не зря используют наследование. С его помощью общую логику, что повторяется на всех …
Все картинки на сайте делятся на две группы: статику и медиа. Первые намертво пришиты к …