Так попытка
#define _OE_SOCKETS
перед включением sys/socket.h
Вот идея: когда у вас есть большие отрезки времени, напишите несколько модульных тестов для функциональности, которую вы планируете реализовать. Затем, когда у вас будет 5-минутный шаг, выберите тест и напишите код, который ему соответствует. Таким образом, вы не тратите свои 5 минут на то, чтобы решить, над чем работать, вы уже сделали это и задокументировали это в виде модульных тестов.
И эй, вы получаете TDD и покрытие для тестирования бесплатно. Бонус.
Принять разработку через тестирование.
Переключение задач связано с большими затратами на выяснение того, где вы были в последний раз.
Если вы всегда пишете тест перед тем, как начать, это не проблема чтобы продолжить с того места, где вы остановились. Запустите тесты, если не удалось, это то, что вы делаете дальше.
Хотите верьте, хотите нет, но есть веб-сайт под названием Five Minute Videos, и у них есть раздел «Программное обеспечение».
Скучная предыстория : Я был в похожей ситуации, когда мне приходилось в течение дня присматривать за своей десятилетней сестренкой. Пока мы ждали, когда к нам приедет друг, я действительно хотел поработать над некоторыми особенностями своего личного проекта.
Я обнаружил, что проиграть ~ 20 секунд акустической музыки и очистить голову перед тем, как что-нибудь написать, было действительно полезным, а также потратил первые 5 минут на составление устаревшего списка вещей, которые я хотел выполнить.
Прочтите случайные сообщения на SO и узнайте что-нибудь новое: -)
Проект Эйлер!
Проект Эйлер - это серия сложных задач математического / компьютерного программирования, для решения которых потребуется нечто большее, чем просто математическое понимание. Хотя математика поможет вам прийти к элегантным и эффективным методам, для решения большинства задач потребуются компьютер и навыки программирования.
Также вы можете прочитать The Ежедневный WTF , потрачено 5 минут.
Еще я иногда программирую короткими очередями, например, в ожидании поездов. Мой метод - создать исключение с надписью «ЗАДАЧИ: следующий шаг - вернуть здесь запрос». Когда я открываю свой ноутбук, я запускаю модуль, над которым я работаю, и он взрывается, сообщая мне, что делать, а трассировка стека сообщает мне, где в коде начинать.
Кроме того, никогда не закрывайте свой IDE ...
Я думаю, что самое большое препятствие - это знать, какая задача может уместиться за 5 минут. Итак, первое, что я сделаю, - это разделю большую часть работы на кучу небольших задач, каждая из которых уместится в 5 минут. Таким образом, когда у вас есть лишние 5 минут, вам не нужно переключать контекст на большую проблему, затем пытаться понять, что нужно делать, а затем пытаться что-то сделать. Вместо этого вы просто смотрите на свой список задач / дел и берете верхний элемент.
Массовое использование TODO. Когда вы начинаете работу с новым классом (я программист на Java), пишете все имена методов и TODO вместо кода, это обычно занимает (печально известное) пять минут. Затем, когда у вас будут следующие пять, начните с выбора случайного TODO и напишите код. Я предпочитаю выполнять их в произвольном порядке, но вы можете обнаружить, что написание всех TODO в методе сначала работает лучше, просто попробуйте :)
Поскольку я не программист на полный рабочий день, а студент и хобби-хакер , большая часть моего программирования делается дома, в библиотеке или кафе. Я выполню один или два TODO, и немного займусь веб-серфингом, посмотрю, как проходят люди, закажу новый кофе или возьму закуски на кухне.
Это, вероятно, не сработает в производственных условиях, но для личные проекты - это король!
Программирование включает в себя два процесса: размышление о вашей программе и ввод кода в компьютер. Попробуйте разбить все на небольшие проекты, которые не должны занимать больше десяти минут. Если вы заранее просчитаете, что вы хотите ввести, и научитесь хорошо печатать , вы сможете добиться хорошей работы за 5-10 минут.
Я использую режим ожидания на ноутбуке вместо Hibernate , потому что он быстрее переводит меня в среду IDE. Я ожидал, что из-за этого у меня будут проблемы с аккумулятором, но, похоже, он работает довольно хорошо.
Я думаю ответ на другой вопрос дает хорошую идею. jalf предлагает:
Очень простой трюк может заключаться в подписаться на RSS-канал для C ++ вопросы здесь, по SO.
Ответы на широкий круг вопросов здесь, на каждом уровне сложности, и они обычно очень подробны ответов.
Это не заменит хорошую книгу по C ++ конечно, но это может быть хороший способ открыть для себя широкий спектр концепций, ловушки и решения, которые вы не могли бы знали об обратном.
Итак, когда у вас есть 5 минут здесь и там, посмотрите RSS-канал определенного тега в Stack Overflow и прочтите (и ответьте?) на вопросы.