С помощью простых инструментов и рабочих процессов

Последние несколько недель мне было слишком весело на работе, с новым проектом, отличной командой и интересными задачами.

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

И самое приятное то, что большая часть этой экономии времени была достигнута с помощью смехотворно простых инструментов и рабочих процессов — опыт, который я делал снова и снова. Количество времени, которое я сэкономил с помощью Excel, VS Code и сочетаний клавиш за эти годы, зашкаливает.

Массовое создание файлов

Система, над которой мы работаем, очень ориентирована на пользователя с (довольно приятным) графическим интерфейсом и рабочими процессами, которые по своей сути основаны на щелчках мыши. Честно говоря, очень приятно работать с быстрыми правками и настройками, но, как вы могли догадаться, первоначальная настройка сотен файлов — это работа, которую никто не ждет.

Поскольку все данные хранятся в проприетарной CMS, не было простого способа пакетного создания файлов с помощью какой-то командной оболочки — blergh. Лучшее, что я смог придумать, это создать шаблон со всеми необходимыми элементами, а затем вручную скопировать-вставить-переименовать исходный файл. С сочетаниями клавиш (Ctrl-C-V, F2, Enter) этот процесс прошел достаточно быстро, и нам нужно сделать это только один раз.

Это по-прежнему отнимало у меня целое утро — и это не было весело — но все же это было намного быстрее, чем создание этих элементов вручную в графическом интерфейсе — что занимает примерно две или три минуты со всем временем загрузки и нажатиями на подтверждения. У нас очень ограниченный внутренний доступ, но, к счастью, мне достаточно, чтобы взломать этот процесс вместе.

Работа с текстом с помощью VS Code

Не раз мы сталкивались с задачей настройки выпадающих меню, определений переменных и дублирования кода функций с небольшими изменениями — все это отличные задачи для решения в VS Code.

Мне особенно нравится сочетание клавиш Ctrl-D, которое создает несколько курсоров при каждом появлении выделенного в данный момент слова — ИДЕАЛЬНО для переименования имен массивов и т. д.

В частности, у нас было несколько функций, которые довольно сложно проверяли входные данные — подумайте о сотнях строк кода, проверяющих различные поля. Эта логика дублируется в других полях, но теперь использует разные значения из одного и того же массива, переименование которого с помощью VS Code занимает всего несколько секунд. И опять же, нам не нужно было настраивать все правила в графическом редакторе, где вам приходилось бы вручную нажимать десятки раз на одно правило, чтобы выбрать все поля и условия.

Это позволило нам повторно использовать несколько компонентов вместо того, чтобы создавать их с нуля — сэкономлено много времени.

И, наконец, это также отлично сработало для создания исходной логики — путем копирования и вставки имен переменных в пустой документ, затем выбора их несколькими курсорами и построения необходимых операторов if и т. д. вокруг него.

Как только вы начинаете вести образ жизни с несколькими курсорами, все начинает выглядеть как гвоздь.

Перевод листов Excel в код

Одно из моих любимых занятий — рассказывать людям, что Excel — моя любимая IDE — это просто раздражает людей всеми возможными способами.

Шутки в сторону, однако, как только вы начнете иметь дело с сотнями полей, значений, зависимостей — кто-то на стороне клиента, вероятно, уже использовал лист Excel, чтобы заставить этого зверя отправить.

В нашем случае мы имеем дело с действительно первоклассными людьми с точки зрения клиентов, и листы, которые у нас есть, безупречны. Красиво структурировано, тщательно заполнено и сгруппировано по различным категориям — мне это просто нравится.

Это позволило мне в основном потратить час времени на создание некоторых (уродливых) формул, которые переводят столбцы Excel в код, а затем копируют их на все листы. То, что могло занять буквально недели и месяцы, чтобы вручную перевести в код (с высоким уровнем ошибок), теперь настолько идеально, насколько это возможно, учитывая, что базовые данные по-прежнему создаются человеческим разумом. И если мы когда-нибудь обнаружим ошибку, все, что нужно, — это перегенерировать код с обновленными входными данными — и именно поэтому я люблю «писать код в Excel».

Задачи пакетной обработки

И, наконец, еще одна вещь, которая никого не удивит, это то, что работа в пакетном режиме может сэкономить много времени. Я уже касался этого в первой части, но стоит рассказать об этом подробнее.

По сравнению с выполнением всего процесса создания блоков вручную сто раз, это экономит часы, выполняя каждый повторяемый шаг в одном большом процессе, а затем изменяя динамические части только в самом конце.

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

Вывод: Слава Богу за элементарный доступ к серверу

С тех пор, как этот проект начался, я то ругался на глупости, то благодарил небеса за то, что у нас есть хотя бы то, что есть. Если бы у нас не было доступа к CMS и серверной части, все это было бы полным кошмаром.

Но, как бы то ни было, я получаю гораздо больше удовольствия, чем, вероятно, должен был бы, и наша команда в целом хорошо проводит время, исправляя вещи направо и налево. Мне очень нравится нынешняя структура команды, состоящая из экспертов в различных областях, каждый из которых имеет свой уникальный опыт, который заставляет меня думать, что мы действительно можем закончить все вовремя.

Я такой наивный, засудите меня.

Повышение уровня кодирования

Спасибо, что являетесь частью нашего сообщества! Перед тем, как ты уйдешь:

  • 👏 Хлопайте за историю и подписывайтесь на автора 👉
  • 📰 Смотрите больше контента в публикации Level Up Coding
  • 💰 Бесплатный курс собеседования по программированию ⇒ Просмотреть курс
  • 🔔 Подписывайтесь на нас: Twitter | ЛинкедИн | "Новостная рассылка"

🚀👉 Присоединяйтесь к коллективу талантов Level Up и найдите прекрасную работу