На мое удивление, я часто видел, как разработчики слишком много операций производят при помощи мыши. О, что во мне творилось во время этого…
Короткий и простой совет сразу — обязательно изучайте горячие клавиши. Минимизируйте работу с мышью. Мышь — это контрпродуктивно.
Используя горячие клавиши и некоторые манипуляции с кодом, например последовательное выделение, перемещение курсора в начало и конец строки, перемещение курсора по словам, перенос строки или группы строк, дублирование строки, выделение нужного фрагмента, открытие файлов через поиск — вы можете существенно повысить эффективность своей работы.
Посчитаем?
Конечно давайте. Цифры всегда дают бо'льшую наглядность.
Начнем с открытия файла.
- На поиск и открытие файла через дерево папок может уйти 8-12 секунд.
- На поиск файла через поисковую строку может уйти 2-4 секунды.
Хм. Кажется, речь идет о секундах, а секунда — это ведь немного? Верно, немного. Но для разового случая. Посчитайте, сколько подобных операций вы делаете в течение дня? А если нейминг и структура файлов в проекте скверные, то и времени будет уходить куда больше.
Продолжим расчет.
Предположим, что за день вы открываете 200 файлов и возьмем среднее предположительное время операции. Результаты округлим.
- При работе с мышью: (200 * 10) / 60 = 33 минуты.
- При работе с горячими клавишами: (200 * 3) / 60 = 10 минут.
Видим такую же разницу в 3 раза, но уже в абсолютных единицах — 23 минуты.
Это время ушло в никуда, и это только на операцию открытия файлов! Представьте сколько операций по копированию строк, выделению, замены и т.д. вы делаете.
Скорее всего разница в них будет такой же — 3–4 раза — возьмем это за расчетный коэффициент эффективности.
Теперь посчитаем эффективность двумя методами. От общего времени, и от времени базовых манипуляций.
Расчет от общего времени
Предположим, в течение дня четверть времени уходит на ввод. Т.е. 8 / 4 = 2 часа. Остальное время уходит на обдумывание задачи, коммуникацию и чтение ТЗ.
Предположим, что эти 2 часа работает эффективный разработчик, использующий горячие клавиши. Сколько времени уйдет на то же самое у неэффективного? Мы уже знаем коэффициент — 3-4, или 6–8 часов. А это время уже соразмерно целому рабочему дню! и говорит о том, что эффективный разработчик потратит 1 день на разработку, в то время как неэффективный — 3 дня.
Расчет от базовых манипуляций
Мы уже выяснили, что только на открытии файлов, в случае неэффективной работы, потеря времени составляет 23 минуты. Теперь давайте предположим, что еще разных типов базовых манипуляций при работе с кодом будет 6:
- Последовательное выделение.
- Перемещение курсора в начало или конец строки.
- Перемещение курсора по словам.
- Перенос строки или группы строк.
- Дублирование строки.
- Выделение нужного фрагмента.
Еще предположим, что таких операций будет в 5-10 раз больше, чем при открытии файлов. Т.е. на порядок. Одно открытие файла в среднем приведет к 10 базовым операциям. Что мы получим? Получим то, что базовая операция — обратно — на порядок меньше времени на открытие файла. Стало быть, мы можем использовать значение 23 минуты в расчете от базовых манипуляций.
(23 * 7) / 60 = 2,6 часа.
Помните, что 23 минуты — это время, которое ушло в никуда. Стало быть, неэффективный разработчик за один рабочий день потратит примерно 2,5 часа времени впустую. 2,5 часа времени — это чуть ли не треть рабочего дня! Если учесть время на обдумывание задачи, коммуникацию и чтение ТЗ, то можно сказать, что полдня (1/2 часть) у такого разработчика упущено.
Сравнение расчетов
В первом случае — от общего времени, мы получили разницу в 3 раза. Во втором, от базовых манипуляций — в 2 раза. Результаты одного порядка и вполне схожи. Возьмем средний коэффициент эффективности — 2,5.
На мой взгляд, разница более чем ощутимая!
Реальный опыт
На практике, я видел как работают разные разработчики, и скажу, что этот коэффициент очень даже применим даже без расчетов, а из фактических результатов. Конечно, обычно скорость работы повышается с повышением опыта. Но не всегда.
Кстати говоря, именно поэтому я не особо верю в таблицу грейдов при расчете заработной платы (хотя это и является хорошей базой). Ведь ребята в одном грейде могут работать совершенно по-разному.
Эффективность работы
Обязательно используйте горячие клавиши при работе с кодом. Это даст существенный прирост в скорости работы, а следовательно и в эффективности. Если она вам, конечно же, нужна.
Например я, большую часть своего разработческого времени провел за созданием собственных проектов, а следовательно, старался быть максимально эффективным. В этом я был, конечно же, очень заинтересован. Такая же привычка перекочевала со мной и в проекты по найму.
Интересно, а есть ли стремление к эффективности у тех, кто изначально работает в найме? И есть ли у вас описанные в статье наблюдения? Расскажите в комментариях о своем опыте.
До новых встреч!
—
Читай релевантные статьи: Виды нарушения потоков в приложении, Потоки в команде разработки.
Изучай основы создания приложения в открытом курсе: Анатомия приложения.
—
Подписывайся на мой канал в соц. сетях:
Telegram: https://t.me/cantfailcode
Dzen: https://dzen.ru/cantfailcode