Улучшения, показаны 50 из 540.
Если результат вычислений отличается от исходных данных своим типом, то не стоит его класть в …
Использование классов в коде усложняет программу. Создатели библиотек знают об этом, поэтому пишут подробную документацию …
Эти вызовы `print` уже выполнили свою задачу, помогли отладить код. Теперь от них больше вреда …
Если по строке разбросаны символы переноса строки `\n`, то сложно понять как будет выглядеть результат. …
По коду разбросаны вызовы `.save()` для промежуточных результатов. Это удобно при отладке, но загромождает вывод …
В работе с исключениями всегда следуйте правилу **«Бросай рано, обрабатывай поздно»**. Порой это контринтуитивно — …
Вся приятность системы типов в Питоне заключается в том, что мы не указываем типы. Благодаря …
Любой `import *` создаёт массу проблем: - превращают в квест поиск импортированных функций - на …
Форматирование кода далеко от общепринятого, и другим программистам будет сложно в нём разобраться.
Библиотека curses кеширует все изменения на экране, вычисляет diff, оптимизирует его по размеру и только …
Сложно понять что происходит в коде, когда в одной строке выполняется сразу много операций: вызовов …
Интернет так устроен, что даже если сайт не может обработать запрос, он всё равно обязан …
Дублирование кода приводит к быстрому росту его объема. А чем больше кода, тем сложнее его …
Если в момент подключения модуля тот ломается, то весь его код остается недоступным. Ситуацию спасут …
Следующих два фрагмента кода эквивалентны: ```python while True: ... if not condition: break ``` Можно …
Если объединять много правок в один коммит, то вся история изменений будет складываться из названий …
Если долго держать открытым соединение с сервером, то рано или поздно случится обрыв: админ перезапустит …
Превращение JSON строки в структуру данных Python требует много процессорного времени. Этот ресурс не безграничен, …
Команда `apt update` скачивает из сети каталог пакетов дистрибутива и, если вовремя его не удалить, …
Чтобы протестировать докер-образ, приходится пересобирать его после каждого изменения скрипта. Это отнимает время, очень много …
Теперь когда вы написали валидаторы с помощью цикла `for`, у вас не составит труда использовать …
Функция может получать настройки из нескольких источников: из полученных аргументов и из глобальных констант и …
Метод `response.raise_for_status()` выкидывает исключение, если срабатывает условие `not response.ok`. По этой причине нет смысла повторно …
Добраться до нужного фрагмента во вложенной структуре данных бывает не просто: ```python json_data['new_attempts'][0]['lesson_title'] ``` Таких …
API Девмана может вернуть в ответе JSON с полем `'status' == 'timeout'`.
Если преподаватель проверит две работы с минимальной задержкой в полсекунды, то о первой вам сразу …
Исходники меняются намного чаще, чем зависимости apt-get и requirements.txt. Добавляя исходники в начале сборки образа, …
Сейчас, если что-то пойдет не так, то в системе останется работать зависший процесс zip. > …
Если скорость корабля будет высокой и за один такт он преодолеет больше одной клетки, то …
JSON — это текстовый формат данных, в Python он представляется в виде строки. Результат декодирования …
Шаблоны намного нагляднее — сразу видно куда и какое значение будет подставлено, легко представить себе …
```python canvas.nodelay(True) ``` Этот код поменяет настройки canvas для всей программы разом и сломает остальной …
Чтобы считать все содержимое текстового файла, можно воспользоваться методом `read`. Это быстрее и проще, чем …
При считывании нажатий клавиш могут оказаться зажатыми сразу две - влево и вниз. Такое случается, …
Идея хранить все константы в одном месте приводит к тому, что сильно связанный код размазан …
Каждая функция — это действие, поэтому название должно содержать глагол. Еще лучше, если название начинается …
Код запутан и неустойчив из-за того, что препятствия регистрируются в одной функции, а удаляются — …
Когда через полгода выйдут новые версии библиотек с приятными плюшками и обратно несовместимыми изменениями, установка …
Даже в случае сбоя в работе программы, полезно вызывать `writer.close()` — закрытие сокета избавит от …
Иногда код сравнивают со спагетти — вызов одного его метода влияет на работу других методов, …
Общая структура программы такова: 1. Импорты 2. Глобальные константы 3. Объявления функций 4. Объявление `def …
Пустые строки используются для того, чтобы разбить код на логически связанные блоки. Это похоже на …
В библиотеке asyncio запись данных в сокет не приводит к их немедленной отправке. Сделав это, …
Когда-то в программах не было исключений и их код был усыпан бесконечными проверками — удачно …
Отправить в лог информацию об ошибке — это настолько частая задача, что для неё есть …
Любая новая фича требует затрат на её создание, тестирование и поддержание. Когда фичи заказывает клиент, …
Когда какое-то значение не меняется, хочется записать его в имя. Например, если вам всегда надо …
На то есть сразу несколько причин. Во-первых, пользователи не хотят лезть в код. А во-вторых, …