Убейте ад отступов в своем коде
Очень вероятно, что вы столкнулись с кодом, который трудно читать из-за вложенных операторов if/else
. В этой статье представлена общая техника программирования, которая поможет вам избежать этого и писать более чистый код без адских отступов.
Этот метод называется защитные оговорки и не ограничивается только React, JavaScript или любым другим языком программирования.
⛔ Без защитных оговорок
Лучший способ понять защитные предложения — это использовать код — в качестве примера я использую компонент React, но он применим к любой функции.
В приведенном ниже коде вы можете увидеть функцию, которая использует несколько вложенных операторов if/else
. Уже на первый взгляд функция излишне тяжело читается из-за вложенных условий и отступов. Это может стать еще хуже, если позже функцию нужно будет расширить дополнительными условиями.
function User({ isLoading, error, user }) { if (isLoading) { return 'Loading...'; } else { if (error) { return `Something went wrong: ${error.message}`; } else { if (!user) { return 'User not found.'; } else { return ( <div> <h2>{user.name}</h2> <h3>{user.bio}</h3> <img src={user.image} /> </div> ); } } } }
✅ С охранными оговорками
К счастью, есть лучший способ написать ту же функцию с простым рефакторингом с помощью защитных предложений. Проверьте рефакторинг функции ниже:
function User({ isLoading, error, user }) { if (isLoading) { return 'Loading...'; } if (error) { return `Something went wrong: ${error.message}`; } if (!user) { return 'User not found.'; } return ( <div> <h2>{user.name}</h2> <h3>{user.bio}</h3> <img src={user.image} /> </div> ); }
Какая разница?
Защитные оговорки проверяют все предварительные условия, которые должны быть выполнены, прежде чем будет запущен счастливый путь. Чтобы избежать многоуровневых вложенных операторов if/else
, вы выходите из функции раньше — как только предварительное условие не выполняется. Это означает, что вы делаете код более плоским, и как только вы достигаете «сценария успеха», , вам не нужно помнить обо всех условиях. Вместо этого вы можете сосредоточиться только на основной логике.
Если вам понравилась эта статья, подпишитесь на меня, чтобы получать новые советы по разработке с помощью React, JavaScript, TypeScript и т. д.!
Становиться участником
Если вам нравится читать такие истории и вы хотите поддержать меня как автора, подумайте о том, чтобы зарегистрироваться, чтобы стать участником Medium. Это $5 в месяц, что дает вам неограниченный доступ к историям на Medium. Если вы зарегистрируетесь по моей ссылке, я получу небольшую комиссию🙌