Советы по программированию в 5 мин сегментах?

У меня есть ноутбук и куча 5-минутных сегментов в течение дня. Раньше я думал, что это слишком короткое время, чтобы сделать что-нибудь. Хотя с небольшой практикой и небольшими изменениями в поведении (например, отключением) я понял, что могу что-то сделать в каждом сегменте. Так что теперь я обращаюсь ко всем вам, программистам по быстрому рисованию, чтобы получить больше советов, которые позволят мне сделать что-то в самом коротком отрезке времени.

  • Что ты сделал?
  • До скольки работаешь?

14 ответов

Решение

Вот идея: когда у вас большие промежутки времени, напишите несколько модульных тестов для функциональности, которую вы планируете реализовать. Затем, когда у вас есть 5-минутный прирост, выберите тест и напишите код для его удовлетворения. Таким образом, вы не тратите свои 5 минут на то, чтобы решить, над чем работать, вы уже сделали это и задокументировали это в форме модульных тестов.

И, эй, вы получаете TDD и тестируете покрытие бесплатно. Бонус.

Принять тест-ориентированную разработку.

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

Если вы всегда пишете тест до того, как начнете, не составит труда выбрать, где вы остановились. Запустите тесты, что бы ни провалилось, вот что вы делаете дальше.

Верьте или нет, есть веб-сайт под названием "Пять минут видео", и у них есть раздел "Программное обеспечение".

http://www.5min.com/Category/Tech/Software

Прочитайте случайные посты на SO и узнайте что-то новое:-)

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

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

Массовое использование TODO. Когда вы начинаете работать с новым классом (я программист на Java), пишите все имена методов и TODO вместо кода, это обычно занимает (печально известные) пять минут. Затем, когда у вас будут следующие пять, начните с выбора случайного TODO и напишите код. Я предпочитаю делать их в случайном порядке, но вы можете обнаружить, что запись всех TODO в методе сначала работает лучше, просто попробуйте:)

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

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

Я также иногда программирую короткими очередями, например, в ожидании поезда. Мой метод - генерировать исключение, которое говорит: "TODO: следующий шаг - вернуть запрос здесь". Когда я открываю свой ноутбук, я запускаю модуль, над которым я работаю, и он взрывается, сообщая мне, что делать, с помощью трассировки стека, указывающей, где в коде начинаться.

Кроме того, никогда не закрывайте свою IDE...

Проект Эйлер!

Project Euler - это серия сложных задач математического / компьютерного программирования, для решения которых требуется нечто большее, чем просто математическое понимание. Хотя математика поможет вам найти элегантные и эффективные методы, для решения большинства задач потребуется использование компьютера и навыков программирования.

http://projecteuler.net/

Также вы можете прочитать The Daily WTF, потраченные 5 минут.

Узнайте все сочетания клавиш.

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

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

Я думаю, что самым большим препятствием является знание того, какая задача может уместиться в 5 минут. Поэтому первое, что я хотел бы сделать, это разбить большую часть работы на кучу задач размером с кусочек, каждая из которых уместится в 5 минут. Таким образом, когда у вас есть лишние 5 минут, вам не нужно переключаться в контекст с большой проблемой, затем пытайтесь решить, что нужно делать, а затем попытайтесь что-то сделать. Вместо этого вы просто смотрите на свой список задач / задач и берете верхний элемент.

Я думаю, что ответ на другой вопрос имеет хорошую идею. jalf предлагает:

Очень простой трюк может заключаться в том, чтобы подписаться на RSS-канал для вопросов C++ здесь, на SO.

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

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

Поэтому, когда у вас есть 5 минут здесь и там, посмотрите RSS-канал определенного тега в Переполнении стека и прочитайте (и ответьте?) Вопросы.

Прочитайте несколько страниц Code Complete 2

Другие вопросы по тегам