Улучшения, показаны 50 из 63.
Если по многострочной строке разбросаны символы переноса строки `\n`, то сложно понять как будет выглядеть …
В Python есть особый вид строк, начинающихся с символа `r` перед кавычками: `r'Строка текста'`. Их …
Если по строке разбросаны символы переноса строки `\n`, то сложно понять как будет выглядеть результат. …
`%s` -- это старый способ форматирования строк, наследованный ещё из второго питона. Он остаётся для …
Сложно охватить взглядом код, который не умещается в экран и требует горизонтальной прокрутки. Сложный код …
Во второй версии Python была поддержка unicode, но её каждый раз надо было включать символом …
Шаблоны намного нагляднее — сразу видно куда и какое значение будет подставлено, легко представить себе …
В Python не принято сравнивать с пустой строкой. В языке достаточно инструментов, чтобы записать ту …
Программисты читают много чужого кода. Разобраться становится легче, когда код следует стандарту.
Пустые строки используются для того, чтобы разбить код на логически связанные блоки. Это похоже на …
Я предлагаю выводить каждый ANSI-код в отдельном `print`, как тут: ![](https://devman.org/filer/canonical/1611248434/28/) Если отделить ANSI-коды от …
Язык Python поддерживает два вида символов кавычек: одинарные `'` и двойные `"`. Есть несколько условных …
Запросы в Django ORM бывают большими и сложными. Даже десять строк кода на один запрос …
Преобразования типов бывают лишними. Посмотрите на эти строки кода: ```python text = 'Найдено {} записей'.format(str(len(records))) …
JSON — это текстовый формат данных, в Python он представляется в виде строки. Результат декодирования …
Обращение к данным по индексу `voice_record[1][0]` сильно осложняет код. Программисту приходится держать в голове структуру …
В GET параметрах запроса запрещены многие символы - `&`, `?`, пробел, табуляция, кириллица. URL будет …
Объявления всех импортов `import` принято собирать в первых строках файла с кодом. Другой программист сильно …
Избыточные индексы — это номера первого и последнего символа в строке. Они избыточны, потому что …
В Python можно ставить символ `;` в конце строки, но в этом нет необходимости. Ставить …
Сложно понять что происходит в коде, когда в одной строке выполняется сразу много операций: вызовов …
При считывании нажатий клавиш могут оказаться зажатыми сразу две - влево и вниз. Такое случается, …
Чтобы multiline строки не ломали отступы в коде функций и других блоков используйте функцию `dedent` …
Функция `format_html` в Django похожа по своим возможностям на обычное форматирование строк. Она тоже подставляет …
Библиотека livereload предоставляет два интерфейса. Есть обычная библиотека, её можно импортировать и вызвать одну из …
Сейчас вы считываете данные из файла строкой, а затем превращаете их в списки и словари …
Когда код исполняет компьютер, ему не важны названия, можно хоть a,b,c,x,y использовать, он справится. Названия …
Если мы изменим числовую константу в коде, то наверняка заденем циклы, условия и значения других …
Функции не годятся для повторного использования, если внутри них прячутся вызовы `print`, `input` или `argparse`. …
Метод format подобен швейцарскому ножу. Он решает множество задач, если уметь им пользоваться.
Следующих два фрагмента кода эквивалентны: ```python while True: ... if not condition: break ``` Можно …
Превращение JSON строки в структуру данных Python требует много процессорного времени. Этот ресурс не безграничен, …
Теперь когда вы написали валидаторы с помощью цикла `for`, у вас не составит труда использовать …
Если ссылка в документе есть, но кликнуть по ней нельзя, то придется выделить и скопировать …
В файле settings.py есть настройка `DEBUG`, она включает отладочный режим работы сайта. На локальной машине …
Если в CharField разрешить хранить `None`, то в каждом запросе к базе придется указывать сразу …
Пользоваться программой и тестировать её станет проще, если заменить функцию `input` на стандартную библиотеку `argparse`.
Писать запросы к БД будет проще, если обратные связи сразу получат говорящие названия — `related_name`. …
В базе данных `CharField` и `TextField` представлены по-разному. `CharField` — это поле фиксированного размера, в …
Точка в конце предложения обозначает конец одной мысли и начало следующей. Это элемент форматирования текста, …
Когда блок кода перестаёт умещаться в половину экрана монитора приходит пора бить его на функции. …
Зачастую пользователи хранят данные отдельно от программ. И тогда либо программа позволит указать нестандартный путь …
В адресе URL разрешено использовать не так много символов. Пробелы, квадратные скобки, кириллица — все …
Redis не только умеет хранить ключи и значения. Он также поддерживает списки и хеши — …
Метод `readline` считывает данные до символа переноса строки `\n`. В бинарном файле сложно предсказать когда …
Программа не может авторизоваться на Девмане по токену. Вместо токена она требует в настройках строку …
Обычно Django кладёт `None` во все незаполненные поля модели данных. Пустой `IntegerField` — это `None`, …
Вы используете `{% verbatim %}`, но он захватывает какую-то рандомную область в шаблоне. Получается, что …
При написании программ часто возникает потребность делать одно и то же действие для нескольких объектов. …
Если программист хочет проигнорировать какое-нибудь исключение, то часто получается подобный код: ```python try: os.remove('somefile.tmp') except …