Написание кода - одна из наших повседневных задач инженеров-программистов. Мы даже можем сделать это на каком-то автопилоте (дайте мне знать, если вы никогда этого не делали 😏) - мы читаем пользовательскую историю на нашей доске, открываем нашу IDE, мы пытаемся вспомнить, делали ли мы что-то подобное раньше, если да , мы копируем код, иначе смотрим на stackoverflow, копируем оттуда, а затем пытаемся соответствующим образом скорректировать код. Это не обязательно хорошо или плохо, например, вы почти никогда не захотите реализовать настраиваемое шифрование или другие элементы безопасности.

На мой взгляд, это становится опасным, когда превращается в привычку и становится повседневной работой. На мой взгляд, это одна из основных причин появления этих «вонючих» фрагментов кода, когда доминирует разработка, управляемая стеком.

В результате довольно часто вы можете прочитать код, но с трудом понять или, что еще хуже - внезапно вы понимаете, что ваш сервер node.js начинает давать 503 ответа при одновременной загрузке всего 100 пользователей 😰 Самая сложная часть с такого рода проблемами заключается в том, что они появляются во время выполнения при определенных условиях, и их очень трудно отследить и устранить.

Итак, как нам с этим бороться? Позвольте мне перечислить несколько практик, которые помогают мне ежедневно:

  • Разбейте решение проблемы на логические шаги. Это даст вам более четкое представление о подходе и поможет разобраться в деталях.
  • Попытайтесь применить подход к разработке через тестирование при написании кода. Если вы сначала начнете с теста, это потребует четкого видения и понимания будущей функциональности просто потому, что вы не можете написать тест для чего-то, чего не понимаете. Еще одно преимущество состоит в том, что ваш код написан с учетом возможности тестирования, что сильно влияет на дальнейшее обслуживание.
  • Постарайтесь иметь в виду S.O.L.I.D. принципов, независимо от того, на какой стороне (backend / frontend) вы пишете код - зависимости и единственная ответственность повсюду! :)
  • При написании кода попробуйте задать себе следующие вопросы:
  1. Это самый простой способ реализовать это? (k eep i t s реализует s глупый принцип);
  2. Является ли добавленная мною функциональность абсолютно необходимой? (y или a не является g onn eed i t принципом)
  3. Я понимаю, как работает этот код?
  • По возможности используйте методы оптимизации и повышения производительности, используйте кеширование. Это очень важно и всегда следует помнить при разработке. Недавно у меня был случай, когда простое использование библиотеки Reduxjs / Reselect в нужных местах уменьшало время загрузки страницы на 2 секунды.

Я могу гарантировать, что использование этих передовых методов значительно повысит качество вашего кода не только с точки зрения удобочитаемости и поддержки, но и производительности. Вы понравитесь коллегам-разработчикам больше, потому что ваш код будет объяснять сам себя, с ним будет легко работать и поддерживать. Жизнь засияет совсем другими красками.

GL и HF