Как сделать код плоским
Плоский код — это когда нет вложенности. Совсем нет. Выглядит он примерно так:
import requests
response = requests.get('https://ya.ru')
response.raise_for_status()
print(response.text)
В таком коде нет условий if
, нет циклов for
и while
, нет with
. Код получился совсем плоским, поэтому его легко прочитать в один проход сверху вниз.
Чем ближе код к плоскому, тем лучше.
В реальности без if
и for
бывает сложно обойтись. И тогда надо стремиться к тому, чтобы код не стал слишком сложным. Чем больше будет глубина вложенности, чем больше вложенных блоков кода и чем больше каждый их них по размеру, тем дальше вы уйдёте от идеала — от плоского кода.
Вот два похожих фрагмента кода. Делают они одно и то же, отличаются лишь записью. Второй вариант куда ближе к плоскому:
for item in items:
if item:
# сложная логика с условиями
# код с условиями
# и даже с циклами
# и ещё return в конце
for item in items:
if not item:
continue
# сложная логика с условиями
# код с условиями
# и даже с циклами
# и ещё return в конце