Comments 6
Вынос длинных путей доступа к полям объектов в константы
Почему не так?
const modelToDisplay = techniqueCard?.specialVehicle?.model?.data ?? 'Нет данных';В итоге эти 6 принципов помогают держать React-код в порядке
Эти принципы позволяют держать ЛЮБОЙ код в порядке и с React связаны весьма посредственно.
В статье больше про SOLID, но и про чистый код тоже есть здравые мысли.
Я бы сказал в статье больше практические советы. Потому что когда от SOLID используется капля это не значит, что статья про него. Да и я считаю что много кому понятнее нормальные наглядные примеры с аргументацией, чем очередной раз обсуждать абстрактный SOLID, потому что конкретно он не всегда и не везде необходим. Чрезмерное количество абстракций это тоже усложнение кода, но с другого конца.
Здесь в UserInfo передаётся весь объект user, хотя используются только два поля из всего объекта: name и age. Это делает компонент зависимым от структуры объекта и усложняет изменения.
А вот и неправда) все зависит от того, какой уровень абстракции у вашего компонента. Если это UI компонент, то да, ваш пример имеет место быть. А если это компонент с бизнес логикой, то правильнее передать весь user, а не отдельные поля. Потому что может произойти так, что в компоненте нужным станет еще и поле 'gender'. И если вы все передавали через пропсы, а компонент использовали в 100-200 местах, то получается что все 100-200 мест нужно изменить, а если передавали бы user, то при потребности в новом поле изменения бы коснулись только одного места.
Все ваши примеры контекстозависимы, их нельзя рассматривать как совет. Потому что где-то это будет полезно, а где-то навредит.
Если бы было все так просто как вы показали, то мы бы давно написали линтер, который работает по вашим советам, и делает код лучше
Чистый код на React: практики, которые делают проект поддерживаемым