Kesinti engelleyemediğiniz durumlarda bilişsel durumunuzu hızlı bir şekilde saklamanın en iyi yolu


21

Bu sorunun bir anlam ifade edip etmediğini bile bilmiyorum ... ama bırakmana izin vereyim ...

hayal edin ... Tamamen bazı programlama düşüncelerine / fikirlerine / konseptlerine bürünüyorsunuz, beyniniz en aktif durumda bir soruna çözüm düşünüyor, ya da Joel Spolsky'nin dediği gibi - derinlere iniyorsunuz " "- VE, birdenbire birileri veya bazı olaylar ilginizi kırar - kaçınamayacağınız, dikkat etmeniz gereken bir şey. ... hayal gücü tamamlandı .. gerçeğe dönüş

Konsantrasyonunu bozabilecek bir şey olabilir ...

  • acil bir toplantı için davetlisiniz
  • kodunuz günlük yapıyı bozdu ve meslektaşınız sizi çağırıyor
  • yapman gereken bir şeyi hatırladın ama yapmayı unuttun
  • takım arkadaşın kırmak için heyecan verici bir haberi var ve seni dinlemekte ısrar ediyor
  • kız arkadaşın (veya erkek arkadaşın) yeni geldi

Şimdi önce sadece 5-10 dakika var varsaymak zorunda derinden içine ne olduğunu bırakın ve kesinti eğlendirmek.

Sorum şu - saptırma geldiğinde, içinde bulunduğunuz zihin durumunu nasıl hızlı bir şekilde "kurtarıyorsunuz". Bir kağıda veya bilgisayara "bir biçimde" mi yazıyorsunuz, yoksa bir şekilde "hatırlıyor musunuz"? Bu kesin düşünceleri 5-10 dakika içinde nasıl kurtarırsınız, böylece daha sonra geri döndüğünüzde bıraktığınız "noktadan" hemen yakalayabilirsiniz.

Genellikle bana öyle geliyor ki, darbeden önce düşündüğüm kesin düşünceleri tam olarak hatırlayamıyorum - ve iyi bir fikir veya bir problemin çözümünü kaybettim gibi hissediyorum. bir fikir hakkında beni heyecanlandıran aynı SAME bilişsel durumuna ulaşmak için geriye dönük olarak çalışmayı düşünmeye çalışıyorum - ama “oraya” gidememek beni hayal kırıklığına uğratıyor.

Böyle bir şey sana olur mu. bundan nasıl "kurtarılır"?

Asıl endişem kod değil - bu "soyut fikirler", henüz bir şekilde "kaydetmem" gereken koda dönüştürülmedi.

- güncelleme -

Bunca yıldan sonra, şunu söyleyebilirim ki, bunu yapmanın hiçbir yolu yoktur. Bilişsel durumunuzu bir kağıda karalamak hiçbir şekilde eskisi gibi olmayacak. Beyinlerimiz, herhangi bir zamanda aktif olarak sahip olduğu bilgiler söz konusu olduğunda, ölçülü bir snippet'in karalama değerinden çok daha karmaşıktır.

En iyi yol, bir ölüm kalım durumu olmadığı sürece, ne kadar önemli olursa olsun, dikkat dağınıklığından kaçınmaktır. Bölgede olmaktan ve bitirmekten daha önemli bir şey yoktur.

İş yeriniz birisinin “bölgede bulunduğunu” takdir etmeyecek kadar safsa, o zaman yeni bir işyeri aramanın zamanı geldi. YMMV olsa. Ve kişisel ilişkilerle birlikte, sosyal yetenekler ve iyi bir dünya yaratabilen bir tutam eklemlilik.


FreeMind gibi bir zihin haritası aracı kullanmanızı tavsiye ederim. Veya Emacs Org modu. Her ikisi de, TODO görevlerinin ve geldikleri gibi fikirlerin hızlı bir şekilde düzenlenmesi için uygundur. (ve onları herhangi bir yerden erişmek için onları bir kaynak kontrol sistemine
yedekleyin

Yanıtlar:


19

Bilgisayarımdan ayrılmadan önce , bir kağıda ya da kağıda yazdığım şeyi yazacağım . Ben genellikle bunu zaten bir hata düzeltme veya analizin parçası olarak yapıyorum. Bir hata daha sonra açıldığında gerçekten yararlıdır , bir ay önceki düşüncelerinizi hala görebilir ve daha hızlı ne yapmanız gerektiğini öğrenebilirsiniz.

Ayrıca: kodunuzda bazı yer imleri ayarlamanızı sağlar . Geri döndüğünüzde, yaptığınız yer imlerini görerek ne yaptığınıza bakabilirsiniz.


2
+1. Tecrübelerime göre, yaptığınız şeyi yazma eylemi kendi içinde açıklığa kavuşur ve kendimi daha sonra yazdıklarımdan bahsetmeme rağmen yardımcı olur .
jimwise

+1 katılıyorum, "bazı biçimde" yazarak en iyi çözüm :)
treecoder

2
+1: Bunu desteklemek için her türlü bilişsel araştırma var. Bir üniversite dersini dinlerken yazılı notlar almak gibi. Beyninizin ne kadar çok parçasını şu anda meşgul edebilirsiniz, ayrıntılara takılma şansınız o kadar iyi olur.
Bob Murphy,

Benim için defter ve ilerlerken yaptığım gibi yapsam da, işim bittiğinde onları geçiyorum. Ayrıca kasıtlı derleme hataları olan kısmi kodu, yapılması gerekenlerin bir mesajı ile birlikte bırakacağım.
Newtopian

8

Yerel not defteri uygulamasını kırbaçladım ve gelecek şeyler planımı yazıyorum.

Bunu en çok yardımcı olmak için buldum. Zamanın% 100'ü geri döndüğümde ne yapmayı planladığımı hatırlayamıyorum, fikirlerin kolayca karşılaşabileceği, fakat yapacakları gerçek adımları hatırlıyor musun?

Gibi bir şey kullanıyorum;

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

+ Deploy changes to test database

+ Come up with production deployment plan

Masaüstüne kaydeder ve dosyayı açık tutarım.

Bunu buldum, benim için bu faydaları var;

  • 5 dakika sürer
  • 'Bölgeye' geri dönmek kolaydır
  • Anılarını daha kolay tetikler

ben de öyle yapıyorum - sadece birinin daha iyi bir fikir edebileceğini düşündüm :)
treecoder

O zaman fikirlerin 'mükemmel' bir görüntüsünü 'kurtarmanın' bir yolu olup olmadığını bilmiyorum. Fakat bütün bu düşünceleri geri getirmeye yardımcı olacak anahtar kelimeler yazacağım ve bu fikri düşünecek ve bunları yazarken bunları kısaca ilişkilendireceğim. Bu başarısız olduğunda başka bir fikir diyagramlar ve bunu bir 3d motoru hobi olarak programlarken çok yaptım. Bu şekilde fikirlerimi veya nihai hedefimi görselleştirebilir, onları kağıt üzerinde biriktirebilir ve geri dönebilir ve hatta bıraktığımdan daha iyisini yapabilirim.
Ross,

5

Bir şeyleri yazmanın mükemmel önerisine ek olarak, bu ...

Uygulama.

Çoklu görevde dünyanın en kötüsü oldum. İnsanlar beni rahatsız etmekten korkarlardı çünkü çok tatsızdım. Sonra fark ettim ki, çoklu paralel çekirdekli bir CPU gibi değildi, görev anahtarlarıyla bir kesinti gibiydi. Böylece kendimi rahatlamak ve yaşamın gerekli bir parçası olarak kabul etmek için kendimi eğitmeye başladım.

On yıl sonra, zamanlayıcı patladığında ara verdiğim Pomodoro benzeri bir sistem kullanıyorum. Birkaç dakikalık bir mola verdikten sonra rahat bir ortamda "bölgeye" geri dönmek inanılmaz derecede kolaydır. Daha uzun kesintiler için bu yazılı notlar paha biçilmezdir. Bir günden fazla bir süre geçmediği sürece bu zihinsel "CPU devleti" nin hemen hemen tamamını kolayca geri yükleyebilirim.

Ayrıca, artık kesintilerle baş etmeye daha fazla alıştığım için, insanlar bunu yaparken artık böyle bir hevesim yok. Ayrıca, "Not yazarken bir dakika bekle" demesiyle daha da iyi anlaştım. Sosyal etkileşimlerimin ne kadar keyifli olduğu şaşırtıcı!

Beyin zihinsel bir kas gibidir ve aşamalı olarak daha zor egzersizler verirseniz çoklu görev gibi şeylerde daha iyi olur.


4

Bu her zaman olur! Kod yazmanın ortasındayken, insanların% 90'ının birkaç saniye beklemesini söyleyebilirim - beni rahatsız etmenin en iyisi olduğunu biliyorlar. Bu birkaç saniye boyunca, çalıştığım kod satırındaki bazı tuşları kasten karıştırıyorum ve yukarıdaki satırı XXX ile işaretliyorum (bu vim'de güzel bir şekilde vurgulanıyor).

Kodun karıştırılması böylece program derlenmeyecek ve bu çizgiye bakmaya zorlanacağım. Yazdığım dillerimin çoğu için, bıraktığım yere bakıp hafızamı hızlı bir şekilde üretken duruma sokmam için bu yeterli.

Ayrıca "bölge" olmanın bugünlerde bir lüks olduğunu öğrendim (sürekli kesintilerle uğraşmaktan). Verimlilik açısından kesinlikle ideal olmasa da, sahip olduklarınızdan en iyi şekilde yararlanmanız için sizi zorlar.


3

Git ile ne zaman çalışsam, işi geride bırakmak konusunda daha az sorun yaşadığımı (ve daha da önemlisi üzerinde çalışmaya devam ettiğimi) öğrendim. Git'in kendisinden değil, git iş akışlarını öğrenirken benimsediğim uygulamalar yüzünden. Konu dallarından bahsediyorum .

Gelişiminizdeki tüm anlamlı 'fahişeleri' özel bir konu dalında yaparsanız, işinize geri dönmeniz çok daha kolaydır. İşte nedeni.

  • konu dalı içerik sağlar. Açıklayıcı bir isim verdiniz, bu yüzden neye baktığınızı biliyorsunuz.
  • tarihin daha küçük ve daha doğrusal bir kapsamı vardır. Daha küçük değişiklik kümeleri (dalları) üzerinde çalışırken, muhtemelen daha az taahhüt edeceğiniz kararlar vardır ve bunlar doğrusal olacaktır (aralarında ilgili olmayan herhangi bir taahhüt yoktur)
  • bir konu ile işiniz bittiğinde konu dallarını silerseniz, hangi konu üzerinde çalıştığınızı anlamak daha kolaydır ve daha da önemlisi, yine de dikkatinizi gerektirir

Eğer disipline sahipseniz, bu çalışma şekli çalışmanızı bırakmayı ve daha sonra almayı çok kolaylaştırır.

Bir şey üzerinde çalışırken, her zaman şu anki konumla ilgili bir iş buldum. Yine bir disipline sahip olmak karşılığını verir. Şu anki çalışmanızı bitirin. Yapamıyorsanız (Sık sık bu 'sorun' - 'Bunu şimdi düzeltmem gerekiyor' vb.) Varsa, düzeltme (veya yeniden düzenleme, iyileştirme, her neyse) için yeni bir konu dalı oluşturun. Mevcut çalışma alanınız taahhüt edilmeye hazır olmasa bile, sadece git stashkendi başınıza küçük işleri popyapın ve asıl işinize geri dönmek için saklayın.


3

Görev durumunu korumak ve diğerine geçmek için Mylyn bağlam korumasını kesinlikle seviyorum . Mylyn'in yaptığı şey, IDE'nizin tam durumunu depolamak ve daha sonra geri yüklemek (açık perspektif, açık dosyalar, bu konumlar vb.).

Yaptığım şeyler için TODO yorumlarını koydum. Eclipse bunları otomatik olarak görev listesi olarak gösterir.


2

Bir VM'de geliştiriyorum. Ve kesintiye uğradığımda, (günün sonunda, öğle yemeği, toplantılar, vb.) Ve düşünce trenimi kaybetmek istemediğimde, kodda bir yorum yazdım, şöyle bir şey:

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

Bazen bu yorumlar karmaşıksa birkaç satır devam eder. Ancak yorumu koduna, IDE'ye yazıp IDE'yi açık bırakıp VM'deki "Suspend and Exit" komutunu kullanıyorum. Sonra tekrar tekrar açtığımda, hemen önümdeki yorumum var, bu da daha önce düşündüklerime hızla geri dönmeme yardımcı oluyor.


1

Zihin haritalama yazılımını kullanmaya başladım (şu anda FreeMind). Her şey için kullanıyorum, ancak bununla ilgili olarak üzerinde çalıştığım her proje için yapılacaklar listesini içeriyor. Listedeki belirli bir sorunun çözümünü düşündüğümde, zihin haritamda yazmaya başladım. Çözümümü burada tutuyorum, üzerinde çalışırken bile, hepsini kafamda tutmaya çalışmak yerine.

Bu, genel resmi kaybetmeden fikrimi kod uygulama ayrıntılarına odaklayayım. Bu aynı zamanda kesintilerin işim üzerinde çok az etkisi olduğu anlamına geliyor, çünkü izlemeyi planladığım adımları yine de bir yerde tutuyorum.

Kullandığınız belirli yazılım veya izleme yöntemi ilgisizdir. Bu fikir Not Defteri'nde veya bir kağıt parçası ile aynı derecede yararlı olacaktır. İlgili kavram, fikirlerinizi sahip olduğunuz şekilde kaydettiğinizdir, bu yüzden her zaman erişilebilirdir.


1

Kesintisiz bir ortamdaysanız, saatlik bir günlük tutmayı (her saat başı birkaç mermi yazarak) çok yararlı buluyorum. TiddlyWiki ve makalenin bir kombinasyonunu kullanıyorum (belgeleme / aranabilirlik için Tiddly, hızlı düşünme için kağıt).

Bunu evden bir bebekle çalışırken yapmaya başladım ve bu da karttaki verimliliğimi artırdı. Düşüncelerimi yeniden keşfetme sorununa hemen yardımcı oluyor ve kendi farkındalığımı arttırmanın hoş bir yan etkisi var (geçen hafta 10 satırlık bir bit-çarpma yöntemini daha okunaklı hale getirmek için bir saatimi değiştirdim. Muhtemelen en iyi kullanım değil) zamanımın).


+1 TiddlyWiki için teşekkürler - daha önce kullandım ancak düşüncelerimi hızlı bir şekilde "seri hale getirmek" için kullanabileceğimi asla düşünmedim :)
treecoder

@greengit - Çok fazla kilometre alıyorum. Günlüğümü, çözüm kayıtlarını ve birikimimi saklıyorum. Performans gelişimi yapmak için kullanıyorum. Projelerin her yıl birkaç hafta boyunca çalıştığı (demolardan önce, doğal olarak) ve daha sonra yeniden rafa tutulduğu çok sayıda Ar-Ge çalışıyorum. Beynimi destekleyecek bir yolum yoksa kaybederim. TiddlyWiki'yi seviyorum çünkü hala kişisel ve bir şirketin wiki veya dokümanı için kimsenin anlayabileceği bir formalite seviyesine yazmak zorunda değilim.
Steve Jackson

masaüstü versiyonunu (varsayılan olanı) veya ccTiddly - tiddlyWiki'nin sunucu tarafından desteklendiği endikasyonudur
treecoder

@greengit - Bir ağ paylaşımına yedeklemek için masaüstü sürümünü ve bir cron işini kullanıyorum. CcTiddly sürümünü kullanmadım, ancak işlevlerinin çoğu, projeler üzerinde işbirliği yapmak için elimizde olan proje wikileri tarafından kapsanıyor gibi görünüyor. ccTiddly, dilek listesi öğelerimden birine (tiddler'lara dosya ekleme yeteneği) vuruyor gibi görünüyor, ancak gerektiğinde bağlantıları yapıyorum.
Steve Jackson,

0
  • Bir geliştiricinin kayıt defterinde yüksek sesle düşünün
  • kesintiye uğradığınızda beyin içine atıyorsunuz
  • Yapacağınız bir sonraki şeyi yazdığınızdan emin olun.

İlki, kesintilere karşı sigorta, daha sonra tekrar izleme ve daha sonra kendini tekrar etme; ikincisi, bıraktığınız yeri almak için zorunludur.


0

Yanımda bir not defterinde çalışan bir yorum tutarım. Bunu bir not defteri dosyasında yapmaya çalıştım, ancak bir nedenden ötürü yazmak kadar etkili bir şekilde çalışmıyor. Çalışırken not ettiğiniz şeyler konusunda makul bir şekilde örgütlüyseniz, soyut düşüncelerinize geri dönmeniz için etkili bir şekilde bir güvenceye sahipsiniz.


0

Bulduğum şey çok yardımcı oldu ("Tamam, şimdi eve gidiyorum ve yarın işe dönüyorum" için bile) sürekli aklımdaki birkaç düşünceyi not ediyor ve ardından o listeden şeyler yapıyordu.

Fakat kesinlikle (i) bu listeyi aktif bir şekilde işlemeye dayanıyor - en azından geri dönmek istediğin yüzlerce yarı bitmiş "yapılacaklar listesi" ile bitmek yerine, onu temizlemek yerine ve (ii) deneyimine sahip olmak için yeterince pratik yapmak neyi yazmanız gerektiğini ve neyi yazmadığınızı bilmek - hangi görevlerin "araç çubuğu düğmesi ekleme" si ve bir dahaki sefere aklınızdan çıkartabileceğiniz tasarım ayrıntıları ve hangi görevleri önceden planladığınızın yarısı farkına vararak, bunu kendi başınıza not etmeniz gerekiyor.

Ayrıca, açıkça, gereksiz dikkat dağıtıcı şeylerden kaçının; bir dikkat dağıtma üzerinde devam edebilmek her zaman iyidir ve her zaman biraz olacaktır, ama çok fazla teşvik etmeyin.


0

Aslında eski bir şirkette öğle yemeği molaları için aceleyle ve aniden kesilmesinin bir sonucu olarak birkaç hataya neden oldum. Birkaç dakika daha sormakla bitirdim ya da sadece katılmama zorlamaları için bensiz ayrıldım ve bu yüzden kodu yarı yazılı olarak bıraktım, düşünceyi yarı tamamladı, sadece bir saat sonra koda geri dönüp kaybettim izlemek ve yanlış şeyler olsun.

Sonuç olarak not alıp gidip yapılacaklar listesi yazarak telafi etmeye başladım ve tabiri caizse “sığ bir zihinsel yığını” korudum. TDD ayrıca, testler bir tasarımla ne yapmaya çalıştığınızı ifade etmenin yanı sıra bunu yaptığınızdan emin olmanıza yardımcı olur.

Ayrıca kodlama ve insan dili gibi sezgisel olarak bana göründüğü arasında bir yerde olan bir dil geliştirdim. “ Nyargh! Bloobly-bloop!Gibi seslerden oluşuyor ve ben meşgulken insanlar benimle konuşmaya çalışıyorsa bazen bu sesleri yapıyorum. Bu sesleri anlamadıkları halde, şu anda insanlarla doğru şekilde iletişim kuramadığım bir durumda olduğumu, hangi noktada uzaklaştığımı ve düşünme ve kod yazmama devam etmeme izin verdiğimi ifade ediyor.

Bu, karımın benimle konuşabileceği fikrine alışmış ve başımı sallayabileceğimi ve zihinsel olarak söylediği tek bir kelimeyi işlememiş olabileceğini söyledi. Ağzının hareketli olduğunu görebiliyorum ve çıkan sesleri duyabiliyorum ama gerçekten doğru şekilde makine talimatlarına çevrilmiyor. Düşünceye emilirken, bunun gerçekleştiği zaman cevaplarımı fark etmeyi öğrendi.

Ayrıca bazen söylediklerini yarı yarıya işlerim ve sadece bir soru sorarmış gibi eşzamanlı sıraya zorlarım, bu noktada her şeyi zihinsel sıramdan çıkarmadan tam olarak işleyemem (ki çok verimsiz kullanır) iplik güvenliği için kilitleme mekanizmaları). Bu yüzden bana sadece başını sallayarak ve yanıtı olmayan ya da "evet" ya da "bu gece ne yapmak istiyorsun?" Gibi "kanlı kanama" gibi saçma sapan bir soru sormaya alışmıştı. sadece on dakika sonra işleme koymam ve bir saniye önce duymuşum gibi soruyu yanıtlamam için.

Ayrıca sizleri de bilmiyorum beyler ama düşüncelerimi programlamada kaybolduğumda gerçekten eksik kalıyorum. Bir keresinde çoraplarımı aradım, onları nereye koyduğumu unuttum. Her nasılsa onları buzdolabına koydum. Sanırım çoraplarımı elinde bir şeyler içmeye ya da bir şeyler içmeye çalışıyordum ve bir şekilde çorapları buzdolabına koydum ve içmeyi almayı unuttum. Başka bir zamanda, arabamı elimin altındaki anahtarlarım eliyle park ettikten sonra bir çöplüğe gittim ve çöpe attığım bir ambalajı atmaya çalıştım. Bunun yerine arabanın anahtarlarını çöp kutusuna atma bittim ve arabanın anahtarını almak için çöpün içine dalmak zorunda kaldığım plastik sarıcı ile arabanın kilidini açmaya çalışana kadar farkında bile değildim. Her neyse, karım tuhaf yerlerde görünen şeylerimle bu tür şeylere alışkın.

[...] kız arkadaşın (veya erkek arkadaşın) yeni geldi

Sadece bu kısım için bir kenara çıkmak, tarih ve romantizm programlamak zor. Birlikte yaşamaya başlayana kadar buluşmanın harika geçtiği pek çok geçmiş ilişkim vardı ve bütün gün bilgisayar başında otururken ve " bloobly-bloop! " İle cevap verirken düşüncenin etrafında dolaştığımda o tarafımın her zaman düşüncede kaybolduğunu gördüler. kaybedilen faiz. Bunun için sabrı olan birini bulmak zor. Bunu yapan karım için gerçekten çok şanslı oldum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.