방해를 피할 수 없을 때인지 상태를 빠르게 숨기는 가장 좋은 방법


21

이 질문이 의미가 있는지조차 모르겠지만 ...

... 상상 당신은 완전히 어떤 프로그래밍 생각 / 아이디어 / 개념에 흡수하고, 당신의 두뇌는 문제에 대한 해결책까지 가장 활성 상태 생각에, 또는 Spolsky 조엘의 풋을 - 당신은 당신의 "영역으로 깊이있어 "-그리고 갑자기 누군가 또는 어떤 사건이 당신의 열의를 깨뜨립니다. 피할 수없는 것, 당신이 참석해야 할 것입니다. ... 상상력 완성 .. 다시 현실로

집중력을 잃을 수있는 것은 ...

  • 급한 만남을 위해 소환되었습니다
  • 코드가 일일 빌드를 중단하고 동료가 전화를합니다.
  • 방금해야 할 일을 기억했지만 잊어 버렸습니다
  • 팀원이 휴식을 취할 수있는 흥미로운 소식이 있습니다.
  • 너의 여자 친구 (혹은 남자 친구)가 막왔다

이제 당신은 전에 5-10 분있어 가정 해야 당신이 깊이로 무엇인지두고 중단을 즐겁게.

내 질문은-기분 전환이 왔을 때, 당신이 어떻게 당신의 마음 상태를 빠르게 "저장"하는가입니다. 종이나 컴퓨터에 "일부 형태"로 쓰거나 어떻게 든 "기억"합니까? 당신이 나중에 다시 올 때 당신이 떠난 "지점"에서 바로 잡을 수 있도록 5-10 분 안에 그 정확한 생각을 어떻게 구제합니까?

그것은 종종 나에게 일어난다. 나는 단지 타격 전에 생각했던 정확한 생각을 기억할 수 없다. 그리고 나는 문제에 대한 좋은 생각이나 해결책을 잃어버린 것처럼 느낀다. 나는 아이디어에 대해 흥분했던 그 같은인지 적 상태에 도달하기 위해 소급해서 열심히 노력하려고 노력한다. 그러나 나는 "거기에 도착"할 수 없다는 것에 좌절한다.

이런 일이 당신에게 일어 납니까? 이것에서 어떻게 "회복"합니까?

저의 주요 관심사는 코드가 아닙니다. 아직 "저장"해야 할 코드로 변환되지 않은 "추상적 인 아이디어"입니다.

-업데이트-

이 몇 년 후, 나는 자신있다, 말할 수 NO 이 작업을 수행하는 가능한 방법은. 인지 상태를 한 장의 종이에 낙서하지 않아도 정확하게 원래 상태로 복원 할 수 있습니다. 우리의 두뇌는 어느 시점에서나 활발하게 보유하고있는 정보와 관련하여, 저조한 스 니펫보다 훨씬 복잡합니다.

가장 중요한 방법은 삶과 죽음의 상황이 아니라면 아무리 중요해도 산만을 피하는 것입니다. 존 안에 있고 마무리하는 것보다 더 중요한 것은 없습니다.

직장이 다른 사람의 "존속"에 감사하지 않을 정도로 순진한 경우, 새로운 직장을 찾을 시간입니다. 그래도 YMMV. 그리고 개인적인 관계를 통해 사회의 기술과 선의의 세계가 선의의 세계를 만들 수 있습니다.


FreeMind와 같은 마인드 맵 도구를 사용하는 것이 좋습니다. 또는 Emacs 조직 모드. 두 가지 모두 TODO 작업과 아이디어를 신속하게 편집하는 데 편리합니다. (그리고 어디서나 액세스 할 수 있도록 소스 제어 시스템에 백업)
haylem

답변:


19

내 PC를 떠나기 전에 포스트잇이나 종이에 내가하고있는 것을 기록 할 것이다 . 나는 보통 버그 수정이나 분석의 일환으로 이것을하고 있습니다. 그것은 정말 도움이 버그가 (재)가 열릴 때 나중에 당신은 여전히 전 달의 생각의 당신의 라인을보고 당신이 훨씬 더 빨리 무엇을해야 찾을 수 있습니다.

또한 : 코드에 책갈피 를 설정 하십시오. 돌아 오면 설정 한 북마크를 확인하여 수행 한 작업을 확인할 수 있습니다.


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 엔진을 취미로 프로그래밍 할 때이 작업을 많이 수행했습니다. 이런 식으로 아이디어 나 최종 목표를 시각화하고 종이에 저장 한 다음 돌아 왔을 때보 다 더 나은 결과를 얻을 수있었습니다.
Ross

5

글쓰기에 대한 훌륭한 제안 외에도, 이것은 다음과 같이 발전시킬 수있는 기술입니다.

연습.

나는 멀티 태스킹에서 세계 최악이었습니다. 사람들은 내가 너무 불쾌했기 때문에 나를 방해하는 것을 두려워했습니다. 그런 다음 병렬 코어가 여러 개인 CPU가 아니라 작업 스위치의 인터럽트와 같다는 것을 깨달았습니다. 그래서 나는 긴장을 풀고 인생의 필수 부분으로 받아들이도록 스스로 훈련을 시작했습니다.

10 년 후, 나는 타이머가 꺼질 때 간단히 휴식을 취하는 포모 도로 (Pomodoro) 같은 시스템을 사용합니다. 몇 분의 휴식을 취한 후 편안한 환경에서 "지역 내"로 돌아 오는 것이 놀랍도록 쉽습니다. 더 긴 중단을 위해 작성된 메모는 매우 중요합니다. 하루 이상이 지나지 않으면 정신적 인 "CPU 상태"를 거의 쉽게 복원 할 수 있습니다.

또한, 나는 이제 방해에 더 익숙해 졌기 때문에 사람들이 그렇게 할 때 더 이상 그런 욕심이 아닙니다. 또한 "메모를 작성하는 동안 잠시 기다려주세요"라고 말하는 것만으로도 훨씬 나아졌습니다. 나의 사회적 상호 작용이 얼마나 더 즐거운 지 놀랍습니다!

뇌는 정신 근육과 같으며, 점차적으로 어려운 운동을하면 멀티 태스킹과 같은 것들이 좋아집니다.


4

이것은 항상 일어난다! 코드를 작성하는 중에 90 %의 사람들에게 몇 초 동안 기다리라고 말할 수 있습니다. 그들은 나를 방해하지 않는 것이 최선의 이익임을 알고 있습니다. 이 몇 초 동안, 나는 의도적으로 작업중 인 코드 라인의 일부 키를 으깨고 위의 라인을 XXX로 표시합니다 (이것은 vim에서 잘 나타납니다).

코드 매싱이 완료되어 프로그램이 컴파일되지 않으며 해당 라인을보아야합니다. 내가 쓰는 대부분의 언어에있어서, 이것은 내가 어디에서 중단했는지를보고 메모리를 생산적인 상태로 빠르게 끌어 올리기에 충분합니다.

나는 또한 "지대"에있는 것이 이제는 끊임없는 중단을 다루는 것에서 사치라는 것을 배웠다. 생산성 측면에서 이상적이지는 않지만, 당신이 가진 모든 것을 최대한 활용하도록 강요합니다.


3

git으로 작업 할 때마다 작업을 남겨 두는 데 어려움이 덜하다는 것을 알았습니다 (더 중요한 것은 계속 작업하고 있음). git 자체가 아니라 git 워크 플로를 배울 때 내가 채택한 관행 때문입니다. 토픽 브랜치 에 대해 이야기하고 있습니다 .

전용 토픽 브랜치에서 개발 과정에서 모든 의미있는 '사람'을 수행하면 작업을 다시 시작하는 것이 훨씬 쉽습니다. 이유는 다음과 같습니다.

  • 토픽 브랜치는 컨텍스트를 제공합니다. 설명적인 이름을 지정 했으므로보고있는 내용을 알 수 있습니다.
  • 역사는 더 작고 선형적인 범위를 가지고 있습니다. 더 작은 변경 세트 (분기)에 대해 작업 할 때 처리 할 커밋이 적고 선형 적입니다 (비 관련 커밋은 없습니다)
  • 주제를 다 마쳤을 때 주제 분기를 삭제하면 작업중인 주제를 이해하는 것이 더 쉬우 며 더 중요한 것은 여전히주의가 필요합니다.

징계가 있다면, 이런 방식으로 일을 떠나고 나중에 더 쉽게 습득 할 수 있습니다.

무언가를 작업 할 때는 항상 현재 주제와 관련이있는 작업을 생각해냅니다. 다시 한 번 훈련을받는 것이 좋습니다. 현재 작업을 완료하십시오. 당신이 할 수 없다면 (나는 종종이 '문제'를 가지고 있습니다- '지금 고쳐야합니다'등) 수정에 대한 새로운 주제 분기 (또는 리팩토링, 개선 등)를 만드십시오. 현재 작업 공간을 커밋 할 준비가되지 않은 경우에도, git stash자체 주제로 작은 작업을 수행하고 pop숨김에서 실제 작업으로 돌아 가기 만하면 됩니다.


3

작업 상태를 보존하고 다른 상태로 전환하기 위해 Mylyn 컨텍스트 보존을 절대적으로 좋아 합니다. Mylyn은 IDE의 정확한 상태 (열린 원근, 열린 파일, 위치 등)를 저장하고 나중에 복원합니다.

내가하고있는 일에 대해서는 TODO 의견을 달았습니다. Eclipse는이를 자동으로 작업 목록으로 표시합니다.


2

나는 VM에서 개발합니다. 그리고 중단 (오늘의 끝, 점심 식사, 회의 등)하고 사고의 길을 잃고 싶지 않을 때 코드에 주석을 작성하십시오.

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

복잡한 경우 이러한 의견이 몇 줄씩 진행되는 경우가 있습니다. 그러나 코드에 주석을 작성하고 IDE에서 IDE를 열어두고 VM에서 "Suspend and Exit"명령을 사용합니다. 그런 다음 다시 가져 오면 바로 앞에 내 의견이 표시되어 이전에 생각했던 내용으로 빠르게 돌아갈 수 있습니다.


1

마인드 매핑 소프트웨어 (현재 FreeMind)를 사용했습니다. 나는 모든 것에 그것을 사용하지만 이것과 관련이 있으며, 내가 작업중 인 각 프로젝트에 대한 할 일 목록이 포함되어 있습니다. 목록에서 주어진 문제에 대한 해결책을 생각할 때 내 마음지도에 입력하기 시작합니다. 그것이 내가 작업하는 동안에도 내 솔루션을 보관하는 곳입니다.

이를 통해 전반적인 그림을 잃지 않고 코드 구현 세부 사항에 집중할 수 있습니다. 또한 어차피 어딘가에 기록 할 단계를 계속 유지하기 때문에 업무 중단이 업무에 미치는 영향이 최소화됨을 의미합니다.

사용하는 특정 소프트웨어 또는 추적 방법은 관련이 없습니다. 이 아이디어는 메모장이나 종이에 유용합니다. 관련 개념은 아이디어를 아이디어가있는 그대로 기록하고 있으므로 언제든지 사용할 수 있다는 것입니다.


1

인터럽트가 많은 환경에 있다면 매시간마다 두 개의 글 머리 기호를 기록하는 일지 일지를 유지하는 것이 매우 유용합니다. 나는 TiddlyWiki와 종이의 조합을 사용합니다 (문서화 / 검색 가능성을위한 Tiddly, 빠른 사고를위한 종이).

유아함께 집에서 일할 때이 작업을 시작했으며 전반적으로 생산성이 향상되었습니다. 그것은 내 생각을 재발견하는 즉각적인 문제를 돕고 자기 인식을 높이는 데 좋은 부작용을 가지고 있습니다. 내 시간의).


TiddlyWiki에게 +1 감사합니다. – 이전에 사용해
보았지만

@greengit-나는 많은 마일리지를 얻습니다. 저널, 솔루션 로그 및 백 로그를 보관합니다. 성능 회피를 수행하는 데 사용합니다. 저는 매년 몇 주 동안 (자연스럽게 데모하기 전에) 프로젝트를 진행 한 다음 다시 선반을 마련하는 한 사람의 R & D를 많이합니다. 뇌를 백업 할 방법이 없다면 길을 잃을 것입니다. TiddlyWiki는 여전히 개인적이기 때문에 내가 좋아할 수있는 회사 위키 나 문서에 대해 공식적인 수준의 글을 쓸 필요가 없기 때문에 TiddlyWiki를 좋아합니다.
Steve Jackson

따라서 데스크톱 버전 (기본 버전) 또는 ccTiddly (tiddlyWiki 의 서버로 구현 된 서버)를 권장합니까
트리 코더

@greengit-데스크톱 버전과 크론 작업을 사용하여 네트워크 공유에 백업합니다. ccTiddly 버전을 사용하지는 않았지만 대부분의 기능이 프로젝트 공동 작업을 위해 배치 한 프로젝트 위키에서 다루는 것 같습니다. ccTiddly가 위시리스트 항목 중 하나 인 파일을 티 들러에 첨부하는 기능 중 하나를 누르는 것처럼 보이지만 필요에 따라 링크를 붙여 넣습니다.
Steve Jackson

0
  • 당신이 갈 때 개발자의 로그 문서를 크게 생각
  • 당신이 중단되면 로그에 뇌 덤프
  • 다음에하려고했던 것을 적어 두십시오

전자는 중단, 역 추적 및 나중에 반복하는 것에 대한 보험이며 후자는 중단 한 곳을 픽업하는 데 필수적입니다.


0

나는 내 옆에 메모장에 실행 주석을 유지합니다. 메모장 파일 에서이 작업을 시도했지만 어떤 이유로 파일을 쓰는 것만 큼 효과적이지 않습니다. 당신이 당신의 작업으로 기록한 것에 대해 합리적으로 조직했다면, 당신은 효과적으로 추상적 인 생각의 핵심 덤프를 갖게됩니다.


0

내가 찾은 것은 많은 도움을 주었다 ( "OK, 지금은 집에 가서 내일 다시 일하러 간다")는 계속해서 내 생각에 여러 가지 생각을 적어두고 그 목록에서 일을하고 있었다.

그러나 그것은 확실히 (i) 목록을 적극적으로 처리하는 것입니다. 반복해야 할 수백 가지의 반 완료된 "할일 목록"으로 끝나지 않고 최소한 목록을 제거하고 (ii) 충분한 경험을 연습해야합니다. "도구 모음 버튼 추가"가있는 작업과 다음에 다시 생각할 수있는 디자인의 세부 사항 및 계획없이 이미 계획의 절반을 수행 한 작업 그것을 실현하고 그 자체를 적어 두어야합니다.

또한, 불필요한 산만 함을 피하도록 노력하십시오. 주의를 산만하게 계속하는 것이 항상 좋으며, 일부는 항상 있지만 너무 많이 권장하지는 않습니다.


0

나는 이전 회사에서 점심 시간을 급히 중단했다가 갑자기 몇 가지 버그를 일으켰습니다. 나는 몇 분 동안 더 물어 보거나 그들이 나에게 합류하도록 압력을 가하기 위해 나없이 떠나는 것을 끝내었고, 그래서 코드를 절반 만 작성하고 생각은 반 완료로 남겨두고 한 시간 후에 코드로 돌아가서 잃었습니다. 추적하고 문제를 해결하십시오.

나는 메모를하고 할 일 목록을 작성하고 "얕은 정신 스택"을 유지함으로써 보상하기 시작했습니다. TDD는 또한 테스트를 통해 설계로 수행하려는 작업을 표현하고 수행하고 있는지 확인하므로 도움이됩니다.

또한 코딩과 인간 언어처럼 직관적으로 보이는 것 사이의 언어를 개발했습니다. " Nyargh! Bloobly-bloop! "와 같은 소리로 구성되어 있으며, 바쁠 때 사람들이 나와 대화하려고 할 때 가끔 소리를냅니다. 그들은 그 소리를 이해하지 못하지만, 현재 인간과 의사 소통을 제대로 할 수없는 상태에 있다는 것을 알았습니다.

즉, 아내는 그녀가 나와 이야기 할 수 있다는 생각에 익숙해졌으며 나는 고개를 끄덕이며 계속 말하며 한 마디 만 정신적으로 처리하지 않았습니다. 마치 그녀의 입이 움직이는 것을보고 소리가 들리는 것처럼 보이지만 실제로 기계 설명서로 제대로 번역되지는 않습니다. 그녀는 내가 생각에 사로 잡히는 동안 일어날 때 나의 반응을 알아 차리는 법을 배웠다.

또한 때로는 그녀가 말한 것을 반쯤 처리하고 질문을하는 것처럼 동시 대기열로 밀어 넣습니다.이 시점에서 나는 정신 대기열에서 모든 것을 튀어 나올 때까지 완전히 처리 할 수 ​​없습니다 (매우 비효율적입니다) 나사산 안전을위한 잠금 장치). 그래서 그녀는 "오늘 밤에 무엇을하고 싶습니까?"에 "예"또는 "blobly-bloop"와 같이 무응답이나 무의미한 반응만으로 질문을하는 데 익숙해졌습니다. 10 분 후에 처리하고 2 초 전에 방금 들었던 것처럼 질문에 대답 할 수있었습니다.

또한 나는 너희들에 대해 모른다. 그러나 나는 프로그래밍 사고에서 길을 잃었을 때 정말로 결근한다. 나는 양말을 어디에 두 었는지 잊어 버리고 오랫동안 양말을 한 번 찾았습니다. 어떻게 든 냉장고에 넣었 어 양말을 손에 든 채 음료수를 가져다가 냉장고에 양말을 넣고 음료수를 빼는 것을 잊어 버린 것 같습니다. 다른 시간에, 나는 차 열쇠를 손에 든 채 차를 주차 한 후 쓰레기 덤프 장에 가서 쓰레기를 쓰레기통에 버렸습니다. 대신 나는 차 열쇠를 쓰레기통에 버리고 결국 플라스틱 포장지로 차의 잠금을 해제하려고 할 때까지 그것을 깨닫지 못했습니다.이 시점에서 열쇠의 쓰레기에서 뛰어야했습니다. 어쨌든, 아내는 이상한 물건에 내 물건이 나타나는 이런 종류의 것들에 익숙합니다.

[...] 당신의 여자 친구 (또는 남자 친구)가 막 왔어요

이 부분을 제쳐두고 데이트와 로맨스는 프로그래밍이 어렵습니다. 나는 우리가 함께 살기 시작할 때까지 데이트가 멋지게 진행된 많은 과거의 관계를 가졌으며 그들은 하루 종일 컴퓨터에 앉아서 " bloobly-bloop! "로 반응하면서 생각에 빠지는 동안 내 측면이 항상 길을 잃은 것을 보았습니다 . 관심을 잃었다. 인내심을 가진 사람을 찾기 란 쉽지 않습니다. 나는 그것을 참아 내 아내와 정말 운이 좋았다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.