Введение
Эти пять советов по производительности будут превосходить производительность в качестве разработчика узла. Вы сэкономите часы времени, которые вы можете затем инвестировать в другие виды деятельности.
Это не полный список всего, что вы должны делать, но одни только что значительно улучшит вашу производительность, если вы еще не делаете их.
Используйте нечеткий поиск
Многие из нас все еще работают с большими монолитамиковыми кодовыми базами, которые иногда имеют тысячи файлов.
Как вы должны найти sifforee.js , скрытый в /src/authenticate/usertypes/employee.js Среди тысяч .js файлы А сотни папок в вашем проекте? Вручную иду ищу файл через дерево каталогов? Спросите другого разработчика, который более знаком с кодовой базой?
Нет, просто используйте нечеткий поиск и введите sifforee.js И вы нашли свой файл в считанные секунды.
Вот как это работает. В VSCode нажмите Alt + P. а затем введите имя файла, который вы ищете. Результат появится мгновенно.
Нечеткий искатель на VSCode
Если вы используете Intellij или Webstorm, нажмите Сдвиг Дважды быстро (AKA двойной смену) вместо нажатия ALT + P Отказ
Используйте настоящий отладчик вместо Console.log ()
Назад, когда я был инженером среднего уровня, узнав, как использовать отладчик, было одно сама по себе, что перегружало мою производительность. Я мог сделать через пару часов работы, которые могли бы взять меня в день. Особенности фиксации ошибок и построения были намного проще.
Я нашел отладку особенно полезным при изучении незнакомых кодовых базах, которые я не писал. Вы можете легко увидеть результаты даже самой сложной логики, написанной по странным способам. Гораздо легче рассуждать комплексную, запутанную логику, когда вы можете запустить его линию по линии и посмотреть, как все меняется.
Если вы когда-либо использовали console.log () Чтобы распечатать значение в консоли, вы можете знать, насколько утомительно он может получить, если вы пытаетесь отладить что-то сложное. Он печатает одно значение за раз, и вам нужно написать новый console.log () Заявление для каждого значения, которое вы хотите увидеть. Если значение, которое вы смотрите на изменения, вам нужно console.log () это снова. Его немного похоже на точку с повязкой или в темноте.
Рабочая память человека ограничена, поэтому, как только вы вручную печатали достаточно переменных, значения начнутся исчезнуть с вашего ума, а затем вам придется распечатать их снова или писать их где-то. Попытка сохранить все это в рабочей памяти, принимает ценные ресурсы мозга, которые вы можете перенаправлять, чтобы ваш код работать так, как вы хотите.
Введите отладчик – установите точку останова в свой код, затем запустите свое приложение. Когда ваше приложение достигает линии, вы устанавливаете точку останова, вы сможете увидеть все переменные в области применения в вкладке «Отладка».
Больше не нужно жонглировать большим количеством ценностей в вашей рабочей памяти. С одним действием вы можете увидеть все вместо одного значения за раз.
Я начал только отладить свой собственный код приложений, но со временем прошел время, и я стал более высокопоставленным, я нашел, что смогу получить большие идеи, отладки Framework Code (например, код для Express ). Я смог найти ответы на вопросы, которые даже не были перечислены в документации.
Если вы хотите узнать, как настроить отладчик, посмотрите, как моя другая статья Super ztive Your Use Productivity с отладкой.
Используйте Async/ждут и избежать «обратного вызова ада»
Рассмотрим следующие примеры с и без Async/await Отказ
Без Async/await :
function addFavoriteProduct(favoriteProduct) {
const user = userRepository.get(userId).then((user) => {
const userProfile = profileRepository.get(user.profileId).then((userProfile)) => {
const favoriteProducts = productsRepository.getFavoriteProducts(userProfile.favoriteProductsId).then((favoriteProducts) => {
favoriteProducts.add(favoriteProduct);
}).catch((error) => {
// Handle error
})
}).catch((error) => {
//Handle error
});
}).catch((error) => {
// Handle error
});
}
Это пример «обратного списка ад». Он содержит много вложенных операций и трудно поддерживать. Если бы у вас были еще вложенные операции, вы будете двигаться к Пирамида гибели анти-образ.
Я бы не был удивлен, если там есть ошибка, я не заметил, потому что код намного сложнее, чем это должно быть!. Я даже не собираюсь попытаться получить его работать, потому что есть лучший способ.
Раньше это было стандартным способом выполнения этого типа работы в Nodejs до совершенно недавно. Из-за этого многие более старые примеры и учебники онлайн все еще уделяют этому стилю, поэтому будьте осторожны о том, что вы читаете онлайн в таких местах, как Stackoverflow. Если вы видите этот стиль кода, вы должны знать, что это больше не лучшая практика. Найдите другой пример в другом месте или попробуйте решить его лучше, как пример ниже.
С Async/await :
async function addFavoriteProduct(favoriteProduct) {
try {
const user = await userProfile.get(userId);
const userProfile = await profileRepository.get(user.profileId);
const favoriteProducts = await productsRepository.getFavoriteProducts(userProfile.favoriteProductsId);
await favoriteProducts.add(favoriteProduct);
} catch (error) {
// Handle error
}
}
Как видите, этот пример гораздо чище и легче понять. Насколько менее вероятно, будут скрыты ошибки, потому что его проще.
Использовать async/a ждать Вы должны быть на узле 8 или выше, настолько последние версии узла будут поддерживать его. Вам нужно будет использовать его внутри Async Function Отказ Объявить один, добавив async. , например Async Function Get () Отказ
Поделитесь своей работой рано с публичным URL
Знаете ли вы, что вы можете получить публичный URL для подаваемого приложения узла локальный или 127.0.0.1 На вашей местной машине, даже если его за брандмауэром или корпоративной сетью? Это не требует конфигурации сети И вы можете сделать это в одной команде с выставить , например Выдержать 80 как myapi.expose.sh Отказ
Это позволяет вам поделиться своей работой в начале ваших сотрудников, таких как другие инженеры, клиенты или менеджеры по продуктам и получают быструю обратную связь без необходимости настроить полный трубопровод развертывания.
Вы можете писать задний конец API, поделитесь публичным URL-адресом для этого, а затем выполняйте живую отладку в качестве разработчика React Front End, вы сотрудничаете с отправкой запроса от их приложения на ваш API.
Почему бы не вживую отладку во время провайдеров WebHook отправляют вам запросы WebHook, вместо того, чтобы проводить часы, чтение их (часто не очень великой) документации?
Если вы находитесь на Linux, запустите это, чтобы установить разоблачать
curl -s https://expose.sh/sh/install-linux.sh | sudo bash
Если вы на Mac, запустите
curl -s https://expose.sh/sh/install-mac.sh --output install-mac.sh && sudo bash install-mac.sh`
Для Windows Head Over To Установка страницы и скачать EXE файл.
Тогда вы можете запустить выставить <порт> где Является ли номер порта вашего приложения включен. Больше инструкций доступны в Документация Отказ
Используйте сценарии NPM для автоматизации повторяющихся задач
Нужно скомпилировать ваш JavaScript, запустите Linter или ваши тесты на подразделение? Вместо того, чтобы вспомнить команды для запуска каждого из них, вы можете добавить сценарии NPM на ваш package.json файл, чтобы запустить их.
{
"name": "myapp",
"main": "app.js",
"scripts": {
"build": "tsc -p ./",
"watch": "tsc -p ./ -w",
"test": "jest",
"lint": "eslint",
"start": "nodemon app.js"
},
"dependencies": {
.....
}
}
В этом примере используется TypeScript, SuperSet javaScript, который добавляет безопасность типа. Я запускаю свое приложение, мне сначала нужно компилировать мой код в простой JavaScript, который может работать у узла.
Чтобы запустить скрипт, запустите NPM запустить Отказ Здесь я могу запустить NPM запустить сборку Чтобы скомпилировать мой код и NPM беги часы Для компиляции в режиме часов автоматически перекомпиляция для каждого изменения.
Тест и Начать являются специальными сценариями, и вы можете просто запустить их как NPM тест и NPM начать Отказ
Начните свое приложение с Nodemon, чтобы получить быстрый обратную связь
Если вы внесите изменения в свой код после запуска вашего приложения с узлом (E.g. Узел App.js ) Вам нужно нажать Ctrl + C Чтобы остановить ваше приложение, а затем снова начать его, чтобы получить новое изменение. Хотя это может не звучать так много, и нужно только несколько секунд, делая это неоднократно со временем, складывающую. Позвольте сказать, что это займет у вас пять секунд, и вы делаете это в среднем 1000 раз в неделю. Это 5000 секунд, или около дополнительных 1,3 часа работы, которые вам не нужно было делать в неделю.
Разница с Номемон Это когда вы обновляете свой код, ваше приложение автоматически перезапускается.
Прежде чем использовать узел Вам нужно установить его, так запустить NPM Установить -G Nodemon Отказ
Чтобы начать свое приложение с Номемон почти такой же, как с помощью узла. Просто заменить Узел с Номемон Например, вы можете запустить Nodemon app.js вместо Узел App.js Отказ
Вот что похоже:
$ nodemon app.js [nodemon] 1.18.9 [nodemon] to restart at any time, enter `rs` [nodemon] watching: *.* [nodemon] starting `node app.js` Example app listening at http://localhost:3000 # My app has started up ##### # Here, I make a change to app.js ##### [nodemon] restarting due to changes... [nodemon] starting `node app.js` Example app listening at http://localhost:3000 # Now, my app automatically restarts and picks up the change
В настоящее время Когда я вносим изменения, приложение автоматически перезапускается сэкономить мне много времени, которое я могу затем инвестировать в другие вещи.
Pro Tip: объедините это с Начать Сценарий NPM, как в примере в предыдущем разделе Отказ
Вывод
Это не полный список вещей, которые вы можете сделать, чтобы увеличить вашу производительность как разработчик узла, но это хорошая отправная точка.
Эти простые вещи могут сэкономить вам много часов ненужной работы.
Если вы нашли эту статью полезную, пожалуйста, подумайте об этом, чтобы помочь другим.
Счастливое кодирование!
Оригинал: “https://dev.to/robbiecahill/six-ways-to-drastically-boost-your-productivity-as-a-node-developer-1mjd”