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

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

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

Избавьтесь от цикла while

Цикл `while` опаснее, чем `for`. Он может запросто застрять в бесконечном цикле, если допустить малейшую …

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

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

Замените простые циклы на comprehensions

Каждый цикл или условие увеличивают сложность кода. Даже есть такой термин - цикломатическая сложность.

Упростите цикл while

Следующих два фрагмента кода эквивалентны: ```python while True: ... if not condition: break ``` Можно …

Упростите цикл while

Следующих два фрагмента кода эквивалентны: ```python while True: ... if not condition: break ``` Можно …

Очистите код от индексов

Обращение к данным по индексу `voice_record[1][0]` сильно осложняет код. Программисту приходится держать в голове структуру …

Задержите следующую попытку переподключения

Если соединение с сервером будет утеряно на пару часов, то всё это время скрипт будет …

Отключите кэш в дата-миграции

Вообще, в питоне не принято сильно заботиться о памяти. Но это до тех пор, пока …

Почините удаление корутин из списка

Цикл по корутинам (event-loop) пропускает запуск отдельных корутин и работает нестабильно. Проблему демонстрирует следующий фрагмент …

Включите подсветку синтаксиса в блоках кода Markdown

Подсветка синтаксиса заметно облегчает чтение кода. Сразу становится видно где вызвана функция, где начинается цикл …

Отделите шаблон от остального кода

Если вы назвали переменную "шаблон письма", то пусть в ней лежит именно шаблон. Вы же …

Свяжите числа с кодом

Если мы изменим числовую константу в коде, то наверняка заденем циклы, условия и значения других …

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

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

Сократите валидаторы с использованием any

Теперь когда вы написали валидаторы с помощью цикла `for`, у вас не составит труда использовать …

Зафиксируйте скорость игры

Сейчас темп игры задается исключительно мощностью CPU — чем мощнее процессор, тем динамичнее игра. На …

Унифицируйте запуск корутин

Можно запускать каждую корутину отдельно и индивидуально, но когда их станет много такой подход перестанет …

Разбейте функцию на части

Функции — это строительные блоки вашей программы. Они похожи на детали конструктора Lego — из …

Задержите следующую попытку переподключения

Если соединение с сервером будет утеряно на пару часов, то всё это время скрипт будет …

Повысьте отзывчивость управления кораблём

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

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

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

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

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

Итерируйтесь по списку/словарю напрямую

Раньше в C++ итерация по коллекции проходила так: ``` for(int i = 0; i < …