дай мне шесть часов срубить дерево, а первые четыре я потрачу на то, чтобы точить топор. -Абрахам Линкольн

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

Улучшение нашего процесса - это точить наш топор.

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

  1. ответ на электронную почту
  2. прочтите / переварите вашу характеристику
  3. ответить на текст.
  4. проверь свою слабину
  5. откройте свой текстовый редактор
  6. начать писать о том, с чего начать.
  7. ответь на другое письмо
  8. напишите неудачный тест
  9. попасть в другое электронное письмо.
  10. о, кто-то громко. плохо просто начну спотифай.
  11. хорошо, что снова делал этот тест?
  12. о да, начни вникать в код, чтобы это исправить.
  13. о, моему коллеге нужна помощь в исправлении ошибки.

смывать. повторение

Некодовой процесс

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

Некоторые способы, которыми я пытался избавиться от этих отвлекающих факторов, - это их автоматизация или отключение до тех пор, пока у меня не появится время разобраться с ними. Поставьте четкую цель и уберите отвлекающие факторы. некоторые способы избавиться от отвлекающих факторов:

  1. Momentum: это расширение для Chrome, которое скрывает ваши самые посещаемые сайты и говорит: Что вы делаете сегодня? это помогает оставаться сосредоточенным.
  2. отключите все уведомления OSX.

3. переведите телефон в режим полета.

4. закройте электронную почту.

5. в течение недели нажимайте «Отписаться от подписки на все электронные письма», прежде чем удалять их.

6. Автоматически включаются наушники, даже если ничего не слушаешь. Лучшее вложение, которое я когда-либо делал, - наушники с шумоподавлением.

вы можете подумать, что не можете этого сделать, потому что вам нужно получать уведомления обо всем. ВЫ НЕ ДОЛЖНЫ! просто сделайте то, что вам нужно, а затем включите его снова, выделите время для этих вещей, иначе они отнимут все ваше время.

Кодовый процесс

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

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

В таких фреймворках, как Ember.js, браузер перезагружается за вас, когда вы сохраняете файл. есть также пакет автоматизированного тестирования, использующий Quint, который запускается повторно при сохранении файлов. этот процесс убивает двух зайцев одним выстрелом, вы получаете очень быструю обратную связь и действительно хорошее тестовое покрытие. если вы можете сделать это, не отрывая рук от клавиатуры, убер реквизит вам !! Обожаю это дерьмо, это все равно, что срубить еще одно дерево замахом на махе.

вы можете изучить инструменты, которые автоматизируют это в других фреймворках, кроме Ember.

если вы используете Ruby On Rails, есть отличный гем под названием guard и guard-rspec или guard-minitest. этот гем автоматически запускает ваши тесты при сохранении файлов. Guard-rspec также очень умный, и если вы сохраните файл `/ model / user.rb`, он будет запускать тесты только в файле` spec / models / user_spec.rb`.

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

Текстовый редактор Envy

Редактирование текста - еще одна огромная область, которая улучшит вашу скорость. Я недавно начал использовать Vim. Это замедлило меня в краткосрочной перспективе, но я упорствовал, потому что я увидел силу использования vim от других пользователей, которые действительно быстро редактируют. Спустя чуть больше недели я вернулся к тому, насколько быстро я был в возвышенном / атомном.

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

Сложнее, прежде чем легче

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

Найдите свой 80/20

В конце концов, вам нужно найти самую большую точку воздействия и сильно ударить по ней, это ваше правило 80/20 (где вы тратите 80% своего времени и получаете только 20% желаемых результатов). Если вы проводите большую часть времени в браузере, проделайте дополнительную работу по автоматизации этого процесса, чтобы вы могли тратить больше времени на написание кода. Если вы повторяете задачу снова и снова, напишите превосходный фрагмент кода, макрос или скрипт vim, чтобы автоматизировать это.

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

Я хотел бы услышать больше советов от вас, ребята, и то, что вы внедрили, чтобы ускорить ваш процесс.