Как стать автором
Обновить

Как настроить воркфлоу: 7 дельных советов от опытного разработчика

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров8.4K
Всего голосов 21: ↑16 и ↓5+13
Комментарии16

Комментарии 16

Основные затраты времени, это обдумывание решений и тому подобное. Код относительно этого пишется быстро, а всякие автодополнения, алиасы и прочее, больше субъективные удобства, их влияние на общее время разработки незначительное. Так что "сэкономленные" это больше манипуляция статистикой.

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

А когда это все сделано, решение скорее всего будет элементарным

Может вы просто очень медленно думаете?

"Я так долго все обдумываю что не важно что и остальное не быстро делаю" - что это за аргумент вообще?

Вы пользуетесь ide с автодополнеием и подсветкой синтаксиса, не в блокноте код набираете(а чего нет? там же незначительное совсем время на него нужно), пользуетесь git а не по email изменения отправляете. То есть используете инструменты ускоряющие вашу работу, но обесцениваете попытки автора пойти чуть дальше и просто немного лучше использовать те же инструменты.

Простите подгорело, под каждой статьей про эффективность есть комментарий типа вашего в стиле - долго думать, а код писать быстро - нет , не быстро, было бы быстро не выстрелил бы тот же copilot.

И вся эта экономия нивелируется когда коприляция занимет 5 минут, а проверки на CI 1 час.

Советы как будто не от опытного разработчика, а от опытного пользователя ПК.

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

в среднем я успеваю сделать 1–2 запроса pull каждый день

ПФФФФФ, тоже мне метрика. У меня на текущем месте работы это минимальная планка, просто специфика такая.

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

За эту неделю замерджил 28 ревью. Хотя половину времени занимался деплоем.

судя по последнему - пользуется одним монитором. самый мощный буст для него был бы использовать второй монитор. а т.к. занимается фронтендом то и третий не помешает, если часто работает по макетам.

Не брать с собой в туалет телефон экономит десятки лет.

Сначала тоже пользовался Rectangle, но потом открыл для себя Lasso — волшебство, которое позволяет не учить коткеи (хотя и они есть) для всяких там «открыть окно на верхнюю правую чатверть экрана», а просто по хоткею выбирать нужные участки экрана — оказалось сильно удобней:) Для удобства перехода есть набор настроек с хоткеями от Rectangle и Magnet.

Статья огонь, советы огонь, но, как и в предыдущех статье, хочется придраться с этой "эффективности" на микро-операциях.

1) нельзя при подсчёте годового сэкономленного времени перемножать на 52 недели, т.к. есть отпуска, праздники, а иногда и больничные.

2) предположим, вы экономите на алиасах 1 минуту в день. Это 4 часа в год. За 4 часа, например, можно написать онлайн конвертер валют, который будет считывать актуальные курсы с публичного xml. Такой, небольшой пет-проектик. Вопрос, сможете ли вы его написать, имея только 1 минуту в сутки? Вот, каждый день, в 16:59 начинаете работу и в 17:00 заканчиваете. Получится ли через год результат?

Что бы закончить на позитивной ноте, вот ещё один пункт по улучшению производительности:

Вы уже используете github copilot - круто. Но он помогает именно в задаче написания кода. А для поиска решений можно использовать ChatGPT. Т.е. приходит вам задача. Вы её читаете и сразу понимаете, как её выполнить. Но вместо того, что бы её выполнять, вы описываете её своими словами в ChatGPT и спрашиваете, как решить эту задачу. Звучит, как уменьшение эффективности, но при переписании задачи вы её лучше поймёте и сможете задать нужные вопросы ПМу. А решение от GPT может расширить ваше личное решение, т.к. 2 головы всегда лучше чем одна. В итоге мы как бы получаем краткосрочные затраты времнени, но долгосрочную экономию, т.к. задача будет выполнена значительно качественнее. По сути это относится в Lean Development (https://ru.wikipedia.org/wiki/Бережливая_разработка_программного_обеспечения)

Спасибо за статью!

Обратите внимание на raycast для macos и его плагины , сильно ускоряет типовые действия

Плагин Git добавляет алиасы для быстрого набора команд Git. Вот для примера несколько алиасов, которые я использую:
Это экономит мне по крайней мере пару минут в день. А за год эти минуты складываются в часы.

А потом заходишь на сервер или парно программируешь с коллегами и не можешь ничего сделать.

И еще не забывайте разворачивать алиасы когда задаёте вопросы в чате.

  • Поиск кода в стеке. Допустим, вы ищете вызов метода. Вам нужно посмотреть, что за код у него внутри. Не используйте глобальный поиск cmd + F по имени этой функции, выискивая определение. 

    Вот что я советую: 

    • Создание сочетаний клавиш для поиска переменной, метода, класса.

    • Клавиша быстрого доступа в VS Code: F12.

    • Сочетание клавиш в JetBrains IDE: cmd + B.

В JetBrains IDE по двойному шифту вызывается окно поиска со вкладками all, files, symbols, actions. Это еще быстрее.

Вещи которые мне помогают экономить время.

Инструменты по качеству кода. Меньше ошибок, меншьше возвратов на доработки.
Форматеры, форамтированный код легче читать.
Быстрые проверки через pre-commit хуки (предыдущий два пункта).
Юнит тесты. Порой быстрей написать тест, чем проверить все ситуации в голове. Я даже на одноразовом коде иногда пишу тесты на сложные логические моменты. С помошниками тесты можно писать с огромной скоростью.
Архитектура, тесты. Если код хорошо организован и покрыт тестами, то можно быстро вносить изменения и искать ошибки.
CI - чтобы не ловить сюрпизы после завершения задачи.
Работа с зависимостями и сборкой. Неоптимальная конфигурация может работать дольше чем нужно.
Чтение задач внимательно, чтобы не делать, то что не надо.
Пистать дезайн документы. Много сюрпризов можно поймать раньше чем начнешь кодить.



Зарегистрируйтесь на Хабре, чтобы оставить комментарий