Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

Category:

Мини-туториал по вебсторму

1. Жмёте 2 раза шифт, набираете scr f ENTER (scratch file), выбираете жс

2. туда пастите это (это риал ворлд экзампл)
class AWSXRay {
  getSegment() {}
}

async function captureWithSegment (annotation, callback) {
 
}

module.exports.handler = async (event) => {
  console.log(event)
  const parentSegment = AWSXray.getSegment()
  return await captureWithSegment('annotation_metadata', async (subSegment) => {
  })
}
3. Курсор на первый async после handler, 2 раза Ctrl-W, Ctrl-Alt-M, вводите captureHandler, Enter

4. Наводите на async последний в captureHandler, 2 раза Ctrl-W и Ctrl-alt-p. Стрелкой вниз выбираете сaptureHandler, энтер. Убираете галку optional parameter, жмёте Enter ещё раз.

Ну и я знаю людей, у которых вот эти операции все в подкорке сидят, на уровне d/fun в виме ("удалить до ближайшего fun"). Oни шлёпают их со скоростью набора, не задумываясь, и говорят, что в результате у них руки перестают отставать от головы, и приходится боттлнек в мозге тренировать, чтобы быстрее думать.

Вот такому вебсторм-фу мне хочется научиться. Ну и вот задача со звёздочкой: представьте теперь что функция принимающая subSegment, использует event (например return await event.foo()). Есть ли маршрут, и если красивого маршрута нет - то какой самый простой вариант?

Я в процессе ещё поразился, как снижается когнитивная нагрузка. Поскольку джун спрашивал а как это функция возвращает функцию что ли? Ну и я приготовился в голове своей это всё прорабатывать в процессе писания. Но решил заебашить через вебсторм, в рамках обучения меня вебсторму, и обнаружил, что внезапно это лишние мысли, ты экстрактишь и не думаешь о деталях экстракции, а как оно там заэкстрактилось и что это в результате. Только результат контролируешь, правильное ли действие сделал, но это гораздо легче, т.е. "ой как это оно тут... а точно же!". Это не то же самое, в плане когнитивной нагрузки, что самому придумывать, как оно тут должно быть.

Ну и вопрос залу: а в вашем редакторе как это делается? Например в VSCode же тоже рефакторинги есть. Интересно сравнить юзабилити.
Tags: programming, до чего техника дошла
Subscribe

Recent Posts from This Journal

  • Бажок в Bluetooth PAN

    Нашёл тут два бажка в венде.. 1. Запускаете таск менеджер 2. Включаете в iOS hotspot (на ведроиде вроде называется Bluetooth Tethering) 3.…

  • Тайп-фу в TS

    У нас тут есть сторонний HTTP-сервис, возвращающий либо { success: true } либо { error: 42, description: "because" }. Ну и по openapi.yaml генерится…

  • Винда и 4гб

    Тут или крестик или трусы. Если у вас винда - то должно быть 6+ рамы. На 4-х WebStorm неюзабельный. С другой стороны, в 2021 4 гб на разрабской…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments