Kod yazarken, geliştiricinin neden boyun derinliğinde bir kesilmemesi gerektiğini açıklayan bir kişiye nasıl açıklanmalı? [kapalı]


92

Eğer sorumun ikinci kısmını düşünürseniz, “Kodlama sırasında neden bir geliştiricinin kesintiye uğramaması gerektiğine” karar verdiniz, bu akıllı insanlar tarafından birkaç kez tartışıldı. SO'nun kurucu ortağı Joel Spolsky bile, “bölgeye girme” ve “bölgeden atılma” hakkında bir blog yazısı yazdı ve komplekse katılırken verimlilik elde etmenin neden ortalama 15 dakika sürdüğünü, yazılım geliştirme ile ilgili görevler. Bu yüzden neden kurulduğunu düşünüyorum.

İlgi duyduğum şey, bunların hepsini Fasulye hakkında tanımayan birine (khmm yazılım geliştirme demek) açıklamak. Karına ya da komik çocuğa işyerindeki muhasebeden ya da her 30 dakikada bir Skype'a ping yapan uzun süredir arkadaşının "Wazzzzzzup ?!" ile tüm kesintilerin işinizde çok daha derin bir etkiye sahip olduğunu nasıl söylersiniz? zamanınızdan aldıkları bariz 30 saniye. Belli ki, boş bakışların veya dostça tacizin hedefi olmak istemediğiniz sürece, "Kısa süreli hafızamda çok sayıda değişken ismini karıştırmam gerekiyor" gibi cümlelerle açıklayamazsınız.

Tüm bunları, geliştirici olmayanlara, açık bir şekilde anlayabilecekleri şekilde, rahatsız edici, elitist veya fazla teknik olmadan açıklayabilmek istiyorum.

EDIT: Harika görüşleri için herkese teşekkürler. EpsilonVector'un cevabını , analojinin orijinal ihtiyaçlarıma en yakın olduğu için kabul ettim . "Uykuya dalmak" açıklaması ne rahatsız edici ne de tekniktir, neredeyse herkes bununla ilişki kurabilir ve uykuya dalma sırasında veya bölgedeyken rahatsız edilmenin sonuçları çok benzerdir: hayal kırıklığı yaşarsınız ve 15-20 dakika "kaybedersiniz" Zamanın


36
Onlardan 0'dan başlayıp çok büyük bir sayıya kadar sayın, orta sesle bağırma ! sincap!
Tim Post

8
Elbette çoğu meslekle alakalı bir cerrahın orta akışını durdurmayı deneyin.
ozz

24
skype işten çıkmak.
Josh,

6
“hakaret etmeden” bir yerlerde bir avlanma olduğunu biliyordum. :)
biziclop

7
@Josh İşyerinde, birlikte çalışma iletişimi için Skype kullanıyoruz. Açıka ihtiyacımız var. Ayrı bir iş hesabım var, ancak hala bu sorunla karşılaşıyorsunuz.
Matthew Scharley

Yanıtlar:


124

Aşağıdaki analojileri deneyin: Birincisi: "Uykuya dalmanız ne kadar sürüyor?" "X dakika" "Şimdi, uyuyakalmaya yakın olduğunuzda, birinin içeri girdiğini ve sizi rahatsız ettiğini, şu an uykuya dalmanın ne kadar süreceğini merak ediyor musunuz? "bulunduğun yere geri mi batıyorsun? "Tekrar başlamak zorunda kalacağım" "Harika. Aynı şey. Tıpkı uykuya dalmak gibi, odaklanma moduna girmek biraz zaman alıyor ve kesintiye uğradığımda geri dönmem biraz zaman alıyor, Bunun dışında yaptığım şeyin yarısını da unutuyorum. "

İkincisi: “Bir kitabı okurken onun içine nasıl battığını biliyorsun” - bir süre sonra artık kelimeleri fark etmiyorsun bile, ve etrafındaki her şeyi engelliyorsun ve zihinsel imgelere tamamen dalmışsın Anlıyorsun." "Evet." “Oraya gitmen ne kadar sürüyor?” “X dakikalar hakkında” “Şimdi, kitabın içine daldığınızda birinin girip sizi rahatsız ettiğini, bunun geri dönmesinin ne kadar süreceğini, bir an önce mi olacak, yoksa tekrar başlamak zorunda kalacak mı” diye düşünün. "bulunduğun yere geri mi batıyorsun?" "Tekrar başlamak zorunda kalacağım" "Harika. Aynı şey. Tıpkı okurken olduğu gibi, odaklanma modunda 'batırmak' biraz zaman alıyor, tıpkı biri beni terk ettiğinde can sıkıcı bir durum.


14
+1 mükemmel, mükemmel, özellikle "uykuya dalmak" bir. Tam olarak aradığım bir açıklama.
András Szepesházi

1
Yardım etmemeliyim - normal bir şekilde tekrar uyuyabilirim ...
Armand

1
@Alison yapamam hakkında bir şey bilmiyorum, ama okumayan ve dolayısıyla ikinci noktayla ilgili olmayan birçok insan var.
Matthew Scharley

3
Uykuya dalmakta olan metaforu seviyorum, ancak işimi yakın zamanda karıma açıklamak için kullanmayacağım! ;>
dthorpe


30

Joel'in tarif ettiği revizyon durumunun teknik olduğunu sanmıyorum. Bu, gerçekten iyi bir kitabın büyüsü altında çekerken veya düştüğünde herhangi birinin yaşadığı sağ beyin değişimidir. (Betty Edwards'ın "Beynin Sağ Tarafındaki Çizimi" mükemmel bir şekilde tarif eder.) Herkes, zamanın geçtiğinden haberdar olmadığınız bir konsantrasyon hissi yaşadı.

Sanırım, bunun sadece teknik kişilerin anlayabildiği bir şey olduğunu, kavramın geliştiricilerin anlayamaması için aptallaştırılması gerektiğini düşünmenin yarasadan mahrum kaldığını düşünüyorum. Sadece basit bir dille açıklayın - anlayacaklar.


17
Tecrübelerime göre, mutlaka almazlar - bunu bir gerçek olarak kabul edebilirler, ancak yine de bununla ilgili olamazlar. Tanıdığım çoğu insan için, iş sadece herhangi bir zamanda askıya alınabilen veya devam ettirilebilen bir iştir.

3
Konuştuğum insanlar değil. Tecrübelerime göre, ezbere düşen işler yapan herkes işini mükemmel şekilde yapabilir. Belki de ezbere iş yapan çok fazla insanla konuşuyorsun.
duffymo

3
@duffymo: Hmm. Bir ezber görevi yapan bir müşteri için özelleştirilmiş bir teklif yazan bir satış görevlisini düşünmüyorum. Yine de, onu böldüğümde, tekrar işe girene kadar en fazla yarım dakika kaybedecek. Bunu kastettim - çoğu iş askıya almak / devam etmek bizimkinden çok daha kolaydır. BENİM NACİZANE FİKRİME GÖRE.

5
Bu ne kadar devlet kaybettiğinizin meselesi. Programcılar, kodlama yaparken, bütün bir program durumunu başlarında tutmaya ihtiyaç duyarlar, ancak daha fazla yazı içeren diğer meslekler, inşa ettikleri belgede durumlarını korurlar. Hangi durumu geri yüklemek daha kolaydır?
Michael K,

2
Bence çoğu insanın işi sırasında (ya da boş zamanlarında) akış durumunu gerçekten deneyimlemesine bağlı. Eğer yaptılarsa, ne demek istediğimizi daha iyi anlayacaklardır.
Péter Török

23

İç iş parçacığınızı sözlü IO'ya yeniden yönlendirin, yani sizi böldükleri zaman yuvarlanın ve mırıldanmaya devam edin ve pes edip ayrılıncaya kadar orta mesafeye bakın. Konuşurlarsa, sadece yüksek sesle mırıldanırlar.


16
Lol bu iyidir ama kesinti eşi ise kesinlikle boşanmaya yol açar.
András Szepesházi

Bu kesinlikle daha hızlı, daha etkili bir yaklaşım! : P
Robin Maben

16

Onlara kodlamanın (veya buraya başka yüksek konsantrasyon aktivitesi eklemek), dönen plakaları harekete geçiren bir sirk sanatçısı gibi olduğunu söyleyin .

İlk önce bir çubuğa bir çubuk döndürerek başlayın, devam edin, sonra ikinci bir tabak döndürmeye başlayın, devam edin, ilk plakaya geri dönün, devam etmesi için biraz fazla döndürün, ardından üçüncü tabakayı döndürmeye başlayın , devam edin, sonra ikinci plakaya geri dönün, küçük ekstra döndürme, ilk plaka ekstra döndürme, üçüncü plaka ilave döndürme, sonra dördüncü, vb. döndürmeye başlayın.

Sonra telefon çalar ve tüm plakalar yere düşer.

Akış durumu gitti. Şimdi baştan başlamak zorundasın. Bir tabak döndürme ...

Her plakayı kafanızda tutmanız gereken bir veri, değişken, kavram, durum vb. Parçası olarak düşünmeyi seviyorum.


13

Birkaç ay önce kodlama yaparken birisinin küpüme girip kulağımın dışına çıkmasını sağladım. İç öfke bir yana, benim yaklaşımım, programcıların çoğu zaman düşünmek için farklı ve konsantre bir yaklaşım gerektiren mantıklı düşüncenin derin olduğunu ve aniden kesilmenin düşünce sürecini gerçekten karıştırabileceğini açıklamaktı. Yine o kişiden olmadı, belki işe yaradı. Dikkate alabileceğiniz diğer bir şey de meşgul / serbest işaret. Algoritma yapan bir arkadaşım var ve bir tarafında "Kodlama - bölme" yazan, iki tarafında da "Bedava Sohbet Etme" yazan bir işaret var. Belirsizliği ortadan kaldırmak buradaki anahtardır.


16
"Chat to Free" bölümünden ayrıldığınız süre boyunca makul bir süre ayırırsınız. Eğer "Kesmeyin" tarafı her zaman
Dean Harding

4
Her zaman işareti çevirmek zorunda kalmak sinir bozucu olacak gibi görünüyor.
Kimse

3
Bir işaret yerine bir Düşünme Şapkasına sahip olabilirsiniz. Think Cap'inizi taktığınızda, insanlar sizi rahatsız etmemelidir.
Karınca

3
"Sohbet etmek ücretsiz" demek, (yöneticilere): "Yapacak işim yok" anlamına gelmez mi?
Porsuk

8
İş yerimde belgesiz "bölgedeki" göstergemiz kulaklıkların varlığıdır. Patron, “Bir şey dinlemeseniz bile, konsantre olursanız onları giydirin. Meşgul olduğunuz anlamına gelir.” Dedi.
JYelton

12

Tamam, kendi cevabımı ekliyorum (bunun biraz salak olduğunu biliyorum, ama belki de hedeflediğim şeye biraz ışık tutuyor).

Son zamanlarda kötü bir zamanda beni rahatsız eden birine şunu söyledim: "Yazılım geliştirmek hayatınızı ilk kez çok yoğun bir yolda sürmek gibi bir şey. Tüm dikkatiniz tekerleğe, pedallara ve araçlara odaklanıyor Etrafınızdaki acele ve hoş bir sohbete fazladan fazla ilgi duymuyorsunuz .. Sohbeti neyle ilgili odaklamaya başlarsanız, arabanın kontrolünü kaybetmek zorunda kalırsınız ve kaza".

Bu, kişinin ilgili olabileceği bir şeydi, ama iyi bir benzetmeden uzaktı. Kesilirsem sonuç kazadan çok farklı olacak. İki yıldır sw geliştirme yapıyorum, bu yüzden bunu neden ilk defa yapılan bir şeyle karşılaştırıyorum? Ve bunun gibi.


1
Güzel bir benzetme. Sadece 'ilk kez' kısmını kaldırın ve çok kavşak, trafik ışıkları, kamyon ve bisiklet olan çok yoğun bir yol olduğunu vurgulayın. Özellikle kavşak, arabanızı köşenin arkasına neyin çarpabileceğini bilmeden almanız gereken tüm kararları temsil etmekte iyi olduğu için.
Goran Joviç,

Bunun iyi bir benzetme olduğunu sanmıyorum ve sanırım bunu kendin kabul ediyorsun, ama geliştirme zamanına saygı duymalarını sağlıyorsa kullan.
Bernard,

Fena değil.
Marcie

4
Sadece arkada görmezden gelmek için mücadele ettiğin üç çığlık atan çocuk olduğunu eklemelisin.
Benjol

7

" Mihaly Csikszentmihalyi akışta " iyi bir TED İnsanlara hitap edebilecek veya çekmeyecek belirli koşullar altında gerçekten üretken olma fikrinden bahsedin. Unutmayın, bazı insanlar için hiçbir zaman açıklamayı anlamak istemeyebilirler ve bu nedenle ölü atı tekrarlı bir şekilde ad infinitumda atmak gibi bir şeydir.


+1 Akış üzerine bir cevap yazma ortasındaydım: en.wikipedia.org/wiki/Flow_%28psychology%29
StuperUser

+1 Akışın iyi referansından ayrı olarak, "ölü atı yinelemeyle ad infinitum atma" kısmını çok komik buluyorum.
András Szepesházi

4

Ben buna programcı trance diyorum. Burada birçok iyi analoji var, o halde bir tane daha ne var? Daha önce de belirtildiği gibi, bir programcı zihinsel olarak doğru olanı gösterene kadar birkaç farklı mantık akışında gezinecektir. Daha sonra kod ile yazılır ve bilgisayara kaydedilir.

Yani, dönem ödevi veya önemli bir belge yazdığınızı söyleyin. Düşünceler bilgisayara kelimelerin içine akıyor, ancak değişiklikleri henüz kaydetmediniz. Sonra poof, güç kesilir veya bilgisayar çöker. Bunların hepsini geri almak, daha uzun veya daha uzun sürecek ve asla orijinalle aynı olmayacak. (Kaç tane eski zamanlayıcımız bu oldu?)

Bu, kesildiğinde kafanızdaki koda olan şeydir. Düşünceler duman kadar kırılgan. Henüz kaydedilmemişlerse ve onları bozmak için bir şeyler gelirse, gitmişlerdir.


Ben bir sürü insan bunu anlayacaktır, çünkü bu bir iyi gibi ve yeterince o geri içine almak için 15 dakika sürmez ilk kez daha ve daha kötü sonuçlar ile daha uzun süreceğini, ifade için.
orbfish

3

Sevgili Değerli İş Ortağımız, Daha verimli olma çabasıyla işime odaklanıyorum ve en kısa zamanda size ve Şirket isminize daha iyi hizmet verebilmek için kesintileri en aza indirgemek için çalışma anları arasında e-posta yoluyla soruları yanıtlıyorum _ . Lütfen bana e-posta gönder, elimden geldiğince size geri döneceğim. Teşekkür ederim.


2

Müzik dinlerseniz, çizgileri boyunca bir şeyler yazan bir işaret koyun.

Headphones on? Please do not interrupt.

Bu, yalnızca herhangi biri okuduğunda ve kulaklıklarınızı her zaman açık tutmadığında etkilidir .


Benim için tam tersi olur. Müzik dinlemek ve derin konsantrasyon benim için bir araya gelmiyor.
KodlarInChaos

2

Aklımda kurmak zorunda olduğum büyük bir karmaşık bağlantı ağı, birbirlerini etkileyen, her zaman açıkça belli olmayan, her biri açıkça anlaşılması ve tutulması gereken birbirine bağlı ilişkilerin bir yapısı olduğunu düşünüyorum. Odakta kod yazarken. Bu ağın oluşturulması, aşina olduğum bir projede 5 ila 15 dakika arasında ve daha az samimi bir şekilde birkaç kez sürüyor.

Konsantrasyonum kesintiye uğradığında, ağ çökmeye başlar ve kesinti birkaç saniyeden daha uzun sürerse veya biraz daha karmaşık olan başka bir şey düşünmem gerekiyor ("Sunucu geçen hafta çöktüğünde, siz ne yaptınız? müşteriye söyle? "), web tamamen çöküyor. Kesinti sona erdiğinde, büyük ölçüde sıfırdan tüm ağı tekrar kurmak zorunda kalıyorum.

Eğer ağın kurulması 10 dakika sürüyorsa ve saatte üç kez sadece 2 dakika ara verdiğimde, saatin 50 dakikasını kodlamak yerine sadece 24 dakikalık bir iş yaptığımı anlamanız gerekir. Bu 3 küçük kesinti üretkenliğimi yarıya indirdi .


1

Neil Ford, geçen Devoxx'ten bahsetti. Bununla ilgili bir kitap yazdı: Üretken programcı. 'Akış' kesicileri hakkında ipuçları açıklar. Akıştaysanız, en yüksek konsantrasyon noktasındasınız demektir. Ancak kesintiye uğrarsanız, akışınıza geri dönmek + -20 dakika sürer.

Akışınızdan çıkarsanız beyninizdeki rasgele erişim hafızası ne çalıştığınızla ilgili verileri kaybeder ve RAM'inizdeki verileri geri almak için 20 dakikaya ihtiyacınız varsa, bunları açıklamak isteyebilirsiniz;)


Rasgele erişim ve hafıza kaybı hakkında konuşmak, "teknik olmamak" hedefini atıyor bence.
András Szepesházi

0

IM İstemcilerime genellikle şu durumu koydum:

İş yerindeyim ve çok görevli olamadığım için lütfen beni rahatsız etme

En azından hile yapmak gibi görünüyor

"Wazzzzzzup ?!" ile her 30 dakikada bir Skype'ta ping eden uzun süredir dost


1
Eğer çevrimdışı ya da sadece vb IM Client, Skype, çıkabilirsiniz biliyorum
Spoike

@Spoike Eğer IM de yaygın olarak kullanıldığı gibi iş için kullanılıyorsa.
Eric Wilson

1
@EricWilson İşyerinde kullanmak için farklı bir hesap açın ve sizi her 30 dakikada bir "Wazzzzzzup ?!" ile Skype'a atanan uzun süredir arkadaşa
Daniel Beck

@EricWilson: Çalışmanıza biraz zaman ayırmak istiyorsanız, iş için kullansa bile IM / e-postayı kapatıp kapatabilirsiniz. Çalıştığım yerlerde bunu yapabildim.
Spoike

0

Açıklamayı deneyebilirsin, ama şunu da deneyebilirsin:

Sen kesme onları onlar, okuma film izlerken, hesaplama ve hatta daha iyi bir şey sayıyor, ister derin konsantrasyon gerektirir şey yapıyor iken,. O zaman açıklamanız gereken tek şey, sizi böldüklerinde sizin için aynen böyle olmasıdır . Hile yapmalı. Lütfen, araba sürerken onları rahatsız etmeyin lütfen.


Açıkçası birileri soruna yaklaşımımı beğenmiyor ama bazen tek örnek açıklamak . Özellikle, konuya açıkladığınız insanlara karşı gizlilik varsa.
Goran Joviç,

Örnek olarak açıklamak gibi gelmiyor. "İntikamını almak" gibi geliyor.
Marcie

0

Açıklamıyorum Kesinliğin programlamak için sadece 6 hafta daha eklediğini bildiririm.


4
Bu öneri, "kaba ol ve insanlar seni rahatsız etmeyi bırakacak" ile aynı çizgide. Etkili olabilir, ancak bir takımda çalışmak için iyi bir yol değil.
Marcie

“Bir takımda çalışmanın iyi bir yolunun” bir gereklilik olarak belirtildiğine inanmıyorum :) Anladığım kadarıyla soru kesintilere yöneldi - ki bu da takım üyeliğine dik ya da olmayabilir.
Throwback1986,

0

Ofiste yaptığım şey ofiste farklı bölümlerde hotdesk noktaları (gizleme noktaları) bulmak, bu şekilde kimse nerede olduğunuzu ve rahatsız edemeyeceğinizi bilmiyor, ancak bu bir seçenek değilse, sadece bir işaret alıp, hayati bir öneme sahip olmadığı sürece rahatsız etmeyin!


0

Gerisini bilmiyorum ama en azından Skype için "Rahatsız etmeyin" modunu kullanmanızı öneririm. Ve bunu işyerinde iletişim kurmak için kullanmanız gerekiyorsa, işte sizi rahatsız etmek istemediğiniz kimseyle paylaşmadığınız ikinci bir iş hesabına sahip olmak :)


0

Karmaşık olmak zorunda değil. "Çok fazla konsantrasyon gerektiren bir şey üzerinde çalışıyorum. Bu bir e-postaya eklenebilir mi? Burada işim biter bitmez ona bakacağım."

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.