Sıkıştığında, Stack Overflow'a ne kadar çabuk başvurulmalıdır? [kapalı]


51

İTunes U CS193p kursunda kendi kendime öğrenen iOS geliştirmeyi yapıyorum ve sık sık kendimi sıkışmış buluyorum. Kendimden ayrılmaya çalışıyorum, ama neyi yanlış yaptığımı, bir yöntemi kaçırmaktan ya da delegasyon gibi bir konsepti tam anlamıyla kavramamak bana saatlerce ya da saatlerce sürebilir.

Çok fazla zaman kaybediyor olabileceğimden endişeleniyorum ve takılıp kaldıktan kısa bir süre sonra Stack Overflow'a devam etmem daha iyi olur.

Tecrübenize göre, Over Overflow'a hızlıca sormak öğrenme sürecini engelliyor mu yoksa geliştiriyor mu?


45
SO ile ilgili bir cevap aramanın, denemeniz gereken ilk şeylerden biri olduğunu belirtmekte fayda var. Sorunuzla tam olarak eşleşen bir cevap olmasa da, size biraz fikir veren bir şey olabilir. Ancak kendi sorunuzu sormak, soruyu kendiniz için cevaplamayı gerçekten zorlamadan ve sorunuzu neye sahip olduğunuzu ve neyin olmadığını açıkça gösteren bir şekilde formüle etmek için gerçek bir çaba sarfedene kadar yapmamanız gereken bir şeydir. çoktan denedim.
Dawood ibn Kareem

1
@DavidWallace Daha fazla katılamadı. Çok fazla insan sadece düşünmeden soruyor (düşük kaliteli sorular), bazı insanlar düşünüyor ve soruyorlar (daha iyi sorular var, ancak daha fazla insanın sormadan önce arama yapmasını diliyorum (daha az (yakın) kopyalar)
Marjan Venema

3
Herhangi bir soru sormakta olduğu gibi, ilk önce olası bir cevabı aradıysanız, gerçek cevabı gördüğünüzde daha fazla şey öğreneceksiniz: nerede aramayı unuttuğunuzu ve bir dahaki sefere de arama yapabileceğinizi göreceksiniz. Sen sadece cevabı öğrenmiyorsun, sen de cevapları aramayı öğreniyorsun. Önceden bir cevap düşünmediniz, sadece cevabı alırsınız ve devam edersiniz, fakat genel olarak daha az şey öğrenin. Kendini geliştirmiyorsun.
Konerak

3
Pragmatik yaklaşım: SO basit sorular için en uygun olanı, bu yüzden hemen sormak derdim (soruyu formüle edebilmeniz gerekir). Başlığı yazdıktan sonra size en yakın soruların listesi sunulacaktır - sorunuzun listede olmadığından emin olmalısınız, ancak ilave SO aramaları yapmanız gerekmez.
Grzenio

6
Sanırım bu muhtemelen SO'nun Meta'sında sorulmalı.
hugomg,

Yanıtlar:


35

Yeni geliştiricilerle çalışırken, ilerleme kaydetmedikleri beş veya on dakika sonra soru sormalarını öneririm.

Bunun iki faydası var: Birincisi, bir soruna bakarken çok fazla zaman harcamadan yardım alabilmeleri, ancak yalnızca bir yere ulaşamadıklarını soruyorlar. Öğreniyorlarsa - nihayetinde cevap olmayan bir şeyde bile - bu bilgiyi yararlı bir şekilde saklamak çok daha muhtemeldir.

İkincisi, o kadar zaman geçtikten sonra sorunu başkalarına açıklamak zorunda kalmalarıdır. Bu, büyük miktarda problemi çözer, çünkü baştan sona sırayla geçmek, önceki çalışmalarınızda kaçırdığınız şeyi tespit edebileceğiniz anlamına gelir.

Bunu yalnız yapıyormuşsunuz gibi göründüğü için, doldurulmuş bir oyuncağa, saate veya duvara dönüp soruyu sormayı deneyin. Bunu bir kişiye yaptığınız gibi açıklayın ve bunun bir şeyi düzeltip düzeltmeyeceğini görün.

Olmazsa ve ilerleme kaydetmiyorsanız birine sorun. Beş ya da on dakikadan fazla takılıp kalmak, zamanınızı boşa harcar - başka bir şey yapmaya devam etmiyorsanız, soruna yeni bir zihinle dönün.


17
Köpeğinizle birlikte sıkışmak için konuşmak gibisi yoktur. :-)
Marjan Venema

2
Eğer yanlış yaptığının farkında zaman, köpek gibi olacak " WOW! Ben asla bunun sanırdım!" Ego artışı için birkaç can atar. ;-)
CVn

4
+1 Buna "oyuncak hata ayıklama" denir, oyuncak oyuncunuzla konuşmanız. Vudu bebeğim var. Ben buna voodoo hata ayıklama diyorum.
Sardathrion

4
Büyük cevap +1. Yıllar boyunca bir çok kez "sıkışıp kaldım" ve başkalarına açıkladığımda cevabın bana netleştiğini fark ettim. Ayrıca uzaklaştığımda / net bir kafa elde etmek için bir şeyler yaparken de sıkça işe yaradığını görüyorum. Stack Overflow'a çok hızlı bir şekilde başvurmayacağım, çözümü kendiniz bulursanız ASLA unutmayacaksınız! Bu günlerde internete aşırı derecede güvenen çok sayıda beyinsiz programcı var.
AnthonyBlake

2
ve sorularımın çoğu SO ile ilgili bir soru hazırlarken kendime cevap verdi. Sorunuzun ayrıntılarını çerçeveleme eylemi bazı cevapları ortaya koyuyor
aldrin

22

Başkalarının harika cevaplarına tek eklemem:

Sorunuzu StackOverflow soru arayüzüne yazarak tamamen düşündüğünüzden emin olmanın harika bir yoludur. Doğru sormak için yeterince açık bir şekilde ortaya koyma sürecinde kendim için kaç soruyu yanıtladığımı söylemeye başlayamam. Başladığım ve gönderemediğim sorular gerçekte sorduğum sayıları aştı.

Öyleyse devam edin ve sordum (tabii ki arama yaptıktan sonra), sadece "Gönder" e basmakla yetinmeyin.


+1 - Bu abartılamıyor. Bu, soruları dikkatlice formüle etmenin bu kadar önemli olmasının bir başka nedenidir. (Ve kenar çubuğundaki otomatik cevap önerme algoritması diğer ilgili soruları daha doğru bir şekilde gösterecektir).
kmote

@kmote - O şeyi AŞK. Benim için çok fazla sorun çözüldü.
Dan Ray,

1
hayatımın hikayesi. Göndermeden önce birçok sorun çözüldü.
Ayush Goyal,

20

Yığın Taşması ve diğer tüm Yığın Değişim sitelerinde, soru sormak için bir dizi kural vardır :

  • Ödevini yap
  • Açık ol
  • Başkalarıyla alakalı yap
  • Konuyla ilgili olun
  • Aklını Yeni fikirlere açık tut

“Ödevini yap”, sormak için çok hızlı olmamanız gerektiği anlamına gelir. “Spesifik olun”, probleminizin alanını tam olarak belirtecek kadar iyi anladığınız anlamına gelir. Değilse, "ödevini yap" uygulanır. “Açık fikirli olun”, hiçbir zaman probleminizle ilgili olacağını düşündüğünüz çözümleri keşfetmeye hazır olmanız gerektiği anlamına gelir.

Bu yüzden Stack Overflow'a sormak değil, sorularınızın iyi olup olmadığını sormakla ilgili değil. Temel olarak gereken çaba, başlı başına bir öğrenme deneyimidir. Doğru yaparsanız, muhtemelen çiftleri arayarak birkaç yeni şey öğreneceksiniz. Olmazsa, bana ping atmak için birkaç oy kullandım. : P


1
Son birkaç ay içerisinde bu web sitesi ailesini (StackOverflow vb.) Kullanmaya başladım ve şunu söylemeliyim: yazım ve tutarlı yazı. Kayıtlı üyelerin sadece küçük bir yüzdesi anadili olarak İngilizce olsa da, neredeyse herkes yazdıkları hakkında çok dikkatli. İnternette büyük bir kullanıcı tabanının bu kaliteyi koruduğu başka bir yer olmadığını düşünüyorum. Garip ama etkileyici. Not: Bunu bir süredir söylemek istedim, bir şekilde ontopik yapmak için bir yere ihtiyacım vardı :).
Radu Murzea

1
@SoboLAN Bu wiki felsefesidir. Küçük yazım hataları için bile birbirimizin gönderilerini sürekli düzenleriz. Ana dili İngilizce olmayan bir konuşmacı olarak, Stack Exchange'e ilk katıldığımda, insanların ne tür düzenlemeler yaptığını, başkalarının hatalarından ders almayı gözlemlemeyi alışkanlık haline getirdim. Stack Exchange deneyiminin bir başka olumlu yan ürünü sanırım. Kim bilir, bir noktada İngilizce Dil ve Kullanım Yığın Değişimi alanında bir cevabı denemek için İngilizceme bile yeterince güvenebilirim . : P
yannis

3

Şahsen, programlamaya başladığımda bir şeyleri anlamaya çalışırken çok zaman geçirdim. Bir şeyleri tamir etmeye çalışmak için saatler harcayabilirim. Bu çantayı üretken olarak görmüyorum, o saatlerde çevrimiçi olarak nasıl aranacağını öğrendim ve programlama dilimin nasıl çalıştığını gerçekten anladım. Sanırım çok hızlı bir şekilde sormak sizi bir öğrenme deneyiminden mahrum bırakıyor. Programlamaya başlamak çok uzun zaman alıyor.

Sonra ne zaman soracağımla ilgili bir soru var, belirli bir soruna birkaç saat harcamak uzun değil diyebilirim (akademik bir arka plandan geldiğimi, belki ticari geçmişe göre daha az kabul edildiğine dikkat edin).

SO hakkında bir soru sorduğunuzda, soruya zaman ayırın:

  • Bir hatanız olduğunda, hatanın tam metnini gönderin. Ayrıca hataya yol açan kodu, tercihen herhangi bir bilgisayarda çalışan kendi kendine yeten bir örneği yayınlayın.
  • Ne denediğini göster.
  • Kullandığınız yazılımın bahsi geçen sürümleri: derleyici sürümleri, python sürümü.

Bunlar sadece birkaç nokta. Bir soruya zaman ayırarak, SO’daki insanlara saygı duyduğunuzda, zamanını ücretsiz kullanırsınız. Daha da önemlisi, probleminizi yapılandırırsınız. Bu zaten sorununuzu çözebilir :).

Sadece benim 2 ct ...


1

Buradaki önemli şeyin, neye sıkışıp kaldığınızı gerçekten anlamak ve ana problemi çözmeye çalışmak olduğuna inanıyorum. Gerçekten asıl sorunun ne olduğunu anladıktan sonra Stack Overflow'u kullanmak yaptığım ilk şeylerden biri.

Ancak, bir soru sormuyor.

Tüm harika cevapları araştırıyor. Muhtemelen şu anda yaşadığınız sorun başkası tarafından olmuştur ve sorunuzu zaten sormuşlardır. Yığın Taşması kullanmaya zorlanırsanız, güdük olunca bir soru sormanızın sadece bir site olmadığını unutmayın. Aynı zamanda bilgisayar programcılığı hakkında gerçekten çok iyi bilgiler için bir depo; arama işlevini kullanın.

Eğer birkaç farklı terimler / anahtar kelimelerle arama yaparsa ve hala nilch almak ve ödevini yaptık ve gösteriş kod örneklerini ve size soru gerçekten bir kopya değil gerçekten emin tüm araçlar sormak tarafından daha sonra, Taşma ile ilgili sorunuz. Siteyi en son kontrol ettiğim şey bu.


1

Tamamen öznel, ancak işte benim kullanım için temel kurallarım.

1) Evim yanıyor mu? Açıkçası, kelimenin tam anlamıyla değil, ama bu sadece acil bir çözüme değil acil bir çözüme ihtiyaç duyan bir sorundur. Eğer öyleyse, bir çatlak almak, hızlı bir şekilde başarısız, mümkün olan en iyi yardımı alın.

2) Bu araştırabileceğim bir şey mi? Zamanımın olduğu ve araştırılabilir bir şeyse, o rotadan aşağı ineceğim ve buna SO'yu ücretsiz bir kaynak olarak dahil edeceğim. SO harika, Wiki de öyle, diğer onlarca kaynak.
Çokça okuyun, bir konuya farklı yaklaşımlar olduğunda anlamanıza yardımcı olur, ancak önce mevcut bilginizin konuya tekrar uygulanıp uygulanmayacağını görmek için zaman ayırın, sonra kendinize yeni bir zihinsel araç geliştirdiniz.

3) Bu benim yetenek setimin dışında kalan bir şey mi / o kadar belirsizdi ki muhtemelen onu hiç görmüş 100 kişi var? Bu olur ve sık sık olur. Genelde bir iki saat araştırmayı deneyeceğim, sonra buraya ya da başka kaynaklara yöneleceğim.

Araştırma yapmanın ve zaman geçirmenin daha asil olduğunu biliyorum, ancak genellikle zaman kısıtlamaları var ve sistemi 'hile yapmak' gibi hissetse bile, mevcut tüm kaynakları kullanıyorsunuz.


0

"Ne kadar çabuk", doğası gereği öznel olacak. Herkesin biraz farklı bir görüşü olacak.

Sorunun nedenini 5 dakika içinde gerçek koda baktıktan sonra bulamazsanız, en azından Google’ı kullanırdım. İyi bir aramanın cevabı yoksa, sorunuzu SO ile yazmaya başlarım.

Bu soruyu gerçekten göndermemenin sorun olmadığını unutmayın; Soruyu yazılı kelimelerle ifade ederken, çözümün kendini ortaya koyduğu ve aslında size vermem gereken zamanlar oldu.


0

Sorunuzu erken yazabilirsiniz, ancak sorunun kaynağını tam olarak araştırıncaya kadar sorunuzu göndermemelisiniz. Ortadan kaldırdığınız şeyleri ve bunları nasıl ortadan kaldırdığınızı yazın. Diğer benzer soruları da kontrol etmelisiniz ve sorunuzu gerçekten göndermek istiyorsanız, bunun neden aynı soru olmadığını açıklayınız.

Düzgün yaparsanız, birçok sorunu kendi probleminizi çözeceğinizi göreceksiniz.

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.