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


21

Я даже не знаю, имеет ли этот вопрос смысл ... но позвольте мне дать вам понять ...

представьте ... Вы полностью погружены в какую-то программную мысль / идею / концепцию, ваш мозг находится в наиболее активном состоянии, придумывая решение проблемы, или, как выразился Джоэл Спольски, - вы глубоко в своей "зоне" «И, вдруг, кто-то или какое-то событие разрушает ваше увлечение - что-то, чего вы просто не можете избежать, что-то, чему вы должны заниматься. ... воображение завершено .. назад к реальности

То, что может нарушить вашу концентрацию, может быть ...

  • Вы вызваны на срочную встречу
  • ваш код нарушил ежедневную сборку и ваш коллега звонит вам
  • Вы просто вспомнили что-то, что вы должны были сделать, но забыли сделать это
  • у твоего товарища по команде есть какие-то захватывающие новости, и ты должен слушать
  • ваша девушка (или парень) только что пришел

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

Мой вопрос - как вы быстро «спасаете» состояние души, в котором вы были, когда пришла диверсия. Вы пишете это в «какой-то форме» на бумаге или на компьютере, или вы просто «запоминаете» это как-то. Как вы спасаете эти точные мысли в течение 5-10 минут, чтобы позже, когда вы вернетесь, вы могли наверстать упущенное прямо из «точки», которую вы оставили.

Со мной часто случается так, что я просто не могу вспомнить те точные мысли, о которых думал до удара - и чувствую, что потерял хорошую идею или решение проблемы. я пытаюсь мыслить задним числом, изо всех сил пытаясь добраться до того ЖЕ когнитивного состояния, которое вдохновило меня на идею - но я расстраиваюсь, что не смогу «туда добраться».

Что-то подобное случается с вами? как вы "оправились" от этого?

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

-- Обновить --

После многих лет, я могу с уверенностью сказать, нет НИКАКОГО возможного способа сделать это. Никакое количество пометок вашего когнитивного состояния на листе бумаги не позволит вам восстановить его таким, каким он был. Наш мозг гораздо сложнее, чем ничтожество отрывков, когда дело доходит до информации, которую он активно хранит в любой момент времени.

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

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


Я бы порекомендовал использовать инструмент для отображения мыслей, такой как FreeMind. Или Emacs Org-режим. Оба удобны для быстрого редактирования задач и идей TODO по мере их поступления. (и обратно их в систему контроля версий, чтобы получить к ним доступ из любого места)
Хайлем

Ответы:


19

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

Также: установите несколько закладок в вашем коде. Когда вы вернетесь, вы можете посмотреть, что вы делали, просмотрев закладки, которые вы установили.


2
+1. По моему опыту, процесс записи того, что вы делали, проясняет сам по себе и помогает, даже если я не нахожу себя ссылающимся на то, что я написал позже .
Jimwise

+1 я согласен, записать это в "некоторой форме" - лучшее решение :)
treecoder

2
+1: есть все виды когнитивных исследований, чтобы поддержать это. Это все равно что делать письменные заметки при прослушивании лекции в колледже. Чем больше частей вашего мозга вы можете задействовать в данный момент, тем больше у вас шансов зависнуть от деталей.
Боб Мерфи

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

8

Я достаю локальное приложение для заметок и записываю свой план на будущее.

Я нашел это, чтобы помочь больше всего. 100% времени я не могу вспомнить, что я планировал сделать, когда вернусь, идеи легко найти, но помнишь ли ты фактические шаги, которые ты собирался сделать?

Я использую что-то вроде;

+ Fix i.d bug
    - look at first name , problem?
    - ...

+ Deploy changes to test database

+ Come up with production deployment plan

Я сохраняю его на рабочем столе и сохраняю файл открытым.

Я обнаружил, что для меня это имеет эти преимущества;

  • Это занимает 5 минут
  • Легко вернуться в «зону»
  • Это вызывает воспоминания легче

это то, что я тоже делаю - просто подумал, что кто-то может иметь лучшую идею :)
Treecoder

Я не знаю, есть ли способ «сохранить» идеальный «образ» ваших идей в то время. Но я добавлю ключевые слова, чтобы помочь вернуть все это, подумать об этой идее и кратко связать ее с этими словами, когда я их записываю. Другая идея, когда это терпит неудачу, это диаграммы, и я много делал это, когда программировал 3d-движок как хобби. Таким образом, я мог визуализировать свои идеи или свою конечную цель, сохранить их на бумаге, вернуться и даже сделать лучше, чем когда я остановился.
Росс

5

В дополнение к превосходному предложению записывать вещи, это навык, который может быть развит с ...

Практика.

Раньше я был худшим в мире в многозадачности. Люди боялись перебивать меня, потому что мне было так неприятно. Затем я понял, что на самом деле это был не процессор с несколькими параллельными ядрами, а прерывание с переключателями задач. Поэтому я начал тренироваться, чтобы расслабиться и принять это как необходимую часть жизни.

Десять лет спустя я использую Pomodoro-подобную систему, где я просто делаю перерыв, когда таймер выключается. После нескольких минут перерыва удивительно легко вернуться «в зону» в расслабленной обстановке - я с нетерпением жду этого! И для более длительных перерывов эти письменные заметки бесценны. Теперь я могу довольно легко восстановить практически все это умственное «состояние процессора», если не пройдет больше суток.

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

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


4

Это происходит все время! Когда я занимаюсь написанием кода, я могу сказать 90% людей подождать несколько секунд - они знают, что в их интересах не беспокоить меня. В течение этих нескольких секунд я намеренно нажимаю некоторые клавиши в строке кода, над которым я работал, и отмечаю строку выше с помощью XXX (это хорошо выделяется в vim).

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

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


3

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

Если вы делаете все значимые «целые» в своей разработке в отдельной ветке тем, гораздо легче вернуться к своей работе. Вот почему

  • ветка темы предоставляет контекст. Вы дали ему описательное имя, чтобы вы знали, на что вы смотрите.
  • история имеет меньшую и более линейную область применения. Поскольку вы работаете с небольшими наборами изменений (ветвями), у вас, вероятно, будет меньше коммитов, которые будут проходить, и они будут линейными (между ними нет никаких связанных коммитов)
  • если вы удаляете ветки тем, когда заканчиваете тему, легче понять, над какими темами вы работали, и, что более важно, которые все еще требуют вашего внимания

Если у вас есть дисциплина, такой способ работы значительно облегчает уход от вашей работы и ее последующую работу.

Когда я работаю над чем-то, я всегда сталкиваюсь с работой, связанной с моей текущей темой. Опять же, дисциплина окупается. Либо закончите свою текущую работу. Если вы не можете (у меня часто возникает эта «проблема» - «мне нужно исправить это сейчас» и т. Д.), Просто создайте новую ветку темы для исправления (или рефакторинг, улучшение, что угодно). Даже если ваше текущее рабочее пространство не готово к фиксации, просто git stashсделайте небольшую работу в своей теме и popперейдите к своей текущей работе.


3

Для сохранения состояния задачи и перехода к другому, я очень люблю сохранение контекста Mylyn . Что Mylyn делает, так это сохраняет и позже восстанавливает точное состояние вашей IDE (открытая перспектива, открытые файлы, расположение в них и т. Д.).

Для вещей, которые я делал, я помещал комментарии TODO. Eclipse автоматически показывает их как список задач.


2

Я развиваюсь в ВМ. И когда меня прерывают (конец дня, обед, встречи и т. Д.) И я не хочу терять мысли, я просто пишу комментарий в коде, что-то вроде:

//Figure out how to implement "Date range too far out" check correctly

Иногда эти комментарии продолжаются в несколько строк, если это сложно. Но я просто пишу комментарий в коде, в IDE, затем оставляю IDE открытой и использую команду «Suspend and Exit» на ВМ. Затем, когда я снова поднимаю его, сразу передо мной появляется мой комментарий, который помогает мне быстро вернуться к тому, о чем я думал раньше.


1

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

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

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


1

Если вы находитесь в среде с высоким уровнем прерываний, я считаю, что ведение почасового журнала (запишите пару пуль каждый час) очень полезно. Я использую комбинацию TiddlyWiki и бумаги (Tiddly для документирования / поиска, бумага для быстрого мышления).

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


+1 спасибо за TiddlyWiki - я использовал его ранее, но никогда не думал, что
смогу

@ GreenGit - я получаю много пробега из этого. Я храню свой журнал, журнал решений и журнал невыполненных работ. Я использую это, чтобы сделать уловки производительности. Я много занимаюсь исследованиями и разработками для одного человека, где проекты разрабатываются в течение нескольких недель каждый год (до демонстрации, естественно), а затем снова откладываются. Я был бы потерян, если бы у меня не было способа поддержать мой мозг. Мне нравится TiddlyWiki, потому что он все еще личный, и мне не нужно писать на уровне формальности, который я хотел бы для вики или документа компании, который любой мог бы понять.
Стив Джексон

поэтому вы рекомендуете настольную версию (версию по умолчанию) или ccTiddly - которая представляет собой поддерживаемое сервером воплощение tiddlyWiki
treecoder

@greengit - я использую настольную версию и задание cron для резервного копирования на сетевой ресурс. Я не использовал версию ccTiddly, но похоже, что большая часть ее функциональности покрыта вики проекта, которая у нас есть для совместной работы над проектами. Похоже, ccTiddly попал в один из моих списков желаний - возможность прикреплять файлы к тиддлерам - но я вставляю ссылки по мере необходимости.
Стив Джексон

0
  • по ходу мысли вслух в журнале разработчика
  • мозги в журнал, когда тебя прерывают
  • убедитесь, что вы записали следующую вещь, которую вы собирались сделать

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


0

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


0

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

Но он определенно полагается на (i) активную обработку этого списка - при минимальной очистке его, вместо того, чтобы заканчивать с сотнями недоделанных «списков задач», к которым вы хотите вернуться, и (ii) отрабатывать достаточно, чтобы иметь опыт знать, что вам нужно писать, а что нет - в каких задачах есть «кнопка добавления панели инструментов» и детали дизайна, которые вы можете воссоздать в следующий раз, и какие задачи вы уже выполнили наполовину без планирования понимая это, и вам нужно записать это сам.

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


0

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

В конечном итоге я начал компенсировать это, делая заметки и выписывая списки задач по ходу дела и просто поддерживая, так сказать, «меньший умственный стек». TDD также помогает, поскольку тесты показывают, что вы пытаетесь сделать с дизайном, а также гарантируете, что вы делаете это.

Я также разработал язык, который находится где-то между тем, что интуитивно кажется мне кодированием и человеческим языком. Он состоит из звуков вроде « Nyargh! Bloobly-bloop! », И я иногда издаю эти звуки, если люди пытаются поговорить со мной, пока я занят. Хотя они не понимают эти звуки, это говорит о том, что я нахожусь в состоянии, не способном должным образом общаться с людьми в данный момент, и в этот момент они уходят и позволяют мне возобновить мышление и написание кода.

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

Я также иногда на полпути обрабатываю то, что она сказала, и просто отправляю это в параллельную очередь, например, если она задает мне вопрос, и в этот момент я не могу полностью обработать это, пока я не выкину все из своей умственной очереди (которая использует очень неэффективно). блокирующие механизмы для безопасности резьбы). Таким образом, она привыкла задавать мне вопрос только с поклоном и без ответа или с бессмысленным ответом типа «да» или «bloobly-bloop» на «что вы хотите сделать сегодня вечером?» только для меня, чтобы обработать это десять минут спустя и ответить на вопрос, как будто я только что услышал это секунду назад.

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

[...] ваша девушка (или парень) только что пришел

Просто для этой части, как в стороне, знакомства и романтика сложно с программированием. У меня было много прошлых отношений, где знакомства проходили чудесно, пока мы не стали жить вместе, и они увидели, что эта сторона меня погружена в мысли все время, сидя весь день за компьютером и ходя в мыслях, отвечая « bloobly-bloop! », И потерял интерес. Трудно найти человека с терпением для этого. Мне очень повезло с моей женой, которая терпит это.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.