Или как инструменты статического анализа кода делают вашу жизнь и предотвращают головную боль
Добро пожаловать в выпуск № 16 программы O ne M inute B etter D, где вы станете более успешным программным обеспечением. разработчик, читая короткие отрывки знаний, по одной минуте за раз.
⏮️ 🔛 ⏭️
ПРОБЛЕМА
Найдите минутку, чтобы взглянуть на этот фрагмент и попытаться понять, что он делает.
Не переходите пока к решению!
Очень постарайтесь выяснить результат, это не так просто, как кажется ...
.
.
.
.
Больше не прокручивайте, пока не узнаете решение!
.
.
.
.
.
.
ОК, готовы?
.
.
.
.
Бьюсь об заклад, вы думали, что результат был таким:
'Swapped: 2,1'
НЕПРАВИЛЬНО.
Этот код выдает ошибку. Вы можете попробовать это сами на консоли своего браузера:
Uncaught TypeError: Cannot set property '2' of undefined
Но почему?
Эта ошибка произошла с одним из моих учеников, и я некоторое время был озадачен, пока не обнаружил виновника. В коде отсутствуют точки с запятой. Обычно это не проблема, так как Автоматическая вставка точки с запятой в JavaScript позаботится об этом.
Однако в этом случае код запускается как:
Как избежать такой головной боли?
РЕШЕНИЕ
Воспользуйтесь инструментами статического анализа кода.
Даже если я работаю над небольшим скриптом, я всегда устанавливаю, по крайней мере, eslint
. Так как:
- Он укажет на такого рода проблемы и другие.
- Он решит эти проблемы и автоматически отформатирует ваш код при сохранении, поскольку это то, что должна делать конфигурация в вашей среде IDE. В конце концов, эта задача должна выполняться роботами, а не людьми!
Так что даже если настройка инструментов статического анализа кода займет пару минут, это всегда будет большим выигрышем. Более того, чем чаще вы их настраиваете, тем быстрее вы сможете это сделать в следующий раз.