![](https://habrastorage.org/getpro/habr/post_images/424/ed0/eec/424ed0eec08450f6be205e19896298a7.png)
Перевод Becoming a better front-end developer using fundamentals instead of heuristics
Наш опыт показывает, что не имеющие технического образования разработчики и самоучки чаще полагаются не на теоретические принципы, а на эвристические методы.
Эвристика — шаблоны и проверенные правила, которые разработчик вынес из практики. Они могут работать неидеально или ограниченно, но в достаточной мере, и не требуют серьёзных размышлений. Вот некоторые примеры эвристики:
- «Используй
$(document).ready(function(){})
для инициализации кода на jQuery-сайтах» - «Конструкция
var self = this
необходима для вызова метода в функции обратного вызова» - «У стрелочных функций нет операторов
return
»
В то же время, теоретический принцип может быть использован для поиска решений других проблем. Он неизменно верен и часто определяет само устройство работы того или иного элемента. К теоретическим принципам относятся, например:
- Официальный синтаксис стрелочных функций
- API-документация к Lodash
- Правила применения и функции vertical-align
Обратите внимание: мы заключили в кавычки только примеры эвристики — для того, чтобы подчеркнуть кустарный характер эвристики по сравнению со строгостью теоретических основ. Ни один из примеров эвристики не является универсальным для всех случаев, но они работают в достаточном количестве ситуаций, чтобы применяющие их разработчики получали рабочий код без полного понимания его работы.