Quando bloccato, con quale velocità si dovrebbe ricorrere allo Stack Overflow? [chiuso]

51

Sono uno sviluppo iOS autoapprendimento tramite il corso iTunes U CS193p, e spesso mi trovo bloccato. Ho cercato di liberarmi da me stesso, ma potrebbero volerci ore e ore per capire cosa sto facendo male, sia che manchi un metodo o non riesca davvero a ottenere un concetto completo come la delega.

Sono preoccupato che potrei sprecare troppo tempo, e sarei meglio andare a Stack Overflow poco dopo essermi bloccato così posso andare avanti.

Nella tua esperienza, chiedere rapidamente Stack Overflow ostacola il processo di apprendimento o lo migliora?

    
posta MaxGabriel 06.02.2012 - 06:45
fonte

8 risposte

35

Quando lavoro con i nuovi sviluppatori, li incoraggio a venire a fare domande dopo cinque o dieci minuti in cui non stanno facendo progressi.

Questo ha due vantaggi: il primo è che possono ottenere aiuto senza perdere troppo tempo a fissare un problema, ma chiedono solo quando non arrivano da qualche parte. Se stanno imparando - anche su qualcosa che alla fine non è la risposta - sono molto più propensi a conservare tali informazioni in modo utile.

Il secondo è che dopo tanto tempo devono spiegare il problema a qualcun altro. Ciò risolve un'enorme proporzione di problemi, perché percorrerne l'end-to-end significa che puoi individuare ciò che ti è mancato nei tuoi lavori precedenti.

Dal momento che sembra che tu stia facendo questo da solo, prova a girarti verso un giocattolo farcito, o sull'orologio, o sul muro, e chiedi spiegazioni sul problema. Spiegalo come faresti con una persona e vedi se questo risolve le cose.

Se non lo è, e non stai facendo progressi, chiedi a qualcuno. Trascorrere più di cinque o dieci minuti è uno spreco di tempo - a meno che non continui a fare qualcos'altro, quindi torna al problema con una mente nuova.

    
risposta data 06.02.2012 - 06:50
fonte
22

La mia unica aggiunta alle ottime risposte di tutti gli altri:

RACCOGLIERE la tua domanda nell'interfaccia delle domande StackOverflow è un ottimo modo per assicurarti di pensarci pienamente. Non posso iniziare a dirvi quante domande ho risposto per me stesso nel processo di spiegarlo chiaramente abbastanza da chiederlo correttamente. Le domande che ho iniziato e non sono inviate VASTAMENTE superano quelle che ho effettivamente chiesto.

Quindi, direi di andare avanti e di chiedere (dopo aver cercato, ovviamente), semplicemente non essere attaccato a colpire effettivamente "Invia".

    
risposta data 06.02.2012 - 14:34
fonte
20

Overflow dello stack e ogni altro sito Stack Exchange, ha una serie di linee guida per fare domande :

  • Do your homework
  • Be specific
  • Make it relevant to others
  • Be on-topic
  • Keep an open mind

"Fai i compiti" sottintende che non dovresti essere troppo veloce per chiedere. "Sii specifico" implica che tu capisca abbastanza bene il dominio del tuo problema per delinearlo in modo conciso. In caso contrario, si applica "fai i compiti". "Mantieni una mente aperta" implica che dovresti essere pronto a esplorare soluzioni che non avresti mai pensato fossero rilevanti per il tuo problema.

Quindi non si tratta di chiedere su Stack Overflow, ma se le tue domande sono buone. Essenzialmente lo sforzo richiesto è un'esperienza di apprendimento in sé. Se lo fai bene, probabilmente imparerai un paio di novità semplicemente cercando i duplicati. Altrimenti, ping me, ho un paio di voti negativi. : P

    
risposta data 06.02.2012 - 07:10
fonte
3

Personalmente, quando ho iniziato a programmare ho passato un sacco di tempo a cercare di capire le cose. Potrei passare ore a cercare di aggiustare qualcosa. Non vedo quelle ore come non produttive, in quelle ore ho imparato a cercare le cose online e ho davvero capito come funzionava il mio linguaggio di programmazione. Quindi penso che chiederti troppo velocemente SO ti derubi di un'esperienza di apprendimento. Entrare in programmazione richiede solo molto tempo.

Poi c'è una domanda su come chiedere a breve, direi che passare qualche ora su un particolare problema non è lungo (nota che vengo da un background accademico, forse in ambito commerciale questo è meno accettato).

E quando fai una domanda su SO, investi tempo nella domanda:

  • Quando si verifica un errore, inserire il testo esatto dell'errore. Inserisci anche il codice che porta all'errore, preferibilmente un esempio autonomo che gira su qualsiasi computer.
  • Mostra ciò che hai già provato.
  • Indica le versioni del software che usi: versioni del compilatore, versione di python.

Questi sono solo alcuni punti. Investendo il tempo in una domanda rispetti le persone su SO, usi il loro tempo gratuitamente. Ancora più importante, ti struttura problema. Questo potrebbe già risolvere il tuo problema:).

Solo il mio 2 ct ...

    
risposta data 06.02.2012 - 07:21
fonte
1

Credo che la cosa importante qui sia capire veramente su cosa sei bloccato e cercare di arrivare al problema principale. Dopo esserti veramente imbattuto in quello che è il vero problema, usare Stack Overflow è una delle prime cose che faccio.

Ma non sta facendo una domanda.

Sta cercando tra tutte le grandi risposte. È probabile che il problema che stai avendo in questo momento sia stato ricevuto da qualcun altro e hanno già posto la tua domanda. Se ti senti in dovere di usare Stack Overflow ricorda che non è solo un sito in cui puoi porre una domanda quando sei perplesso. È anche un deposito di alcune informazioni davvero grandiose sulla programmazione di computer; usa la funzione di ricerca.

Se hai cercato con un paio di termini / parole chiave diversi e hai ancora niente, e hai fatto i compiti e hai esempi di codice da mostrare e sei veramente sicuro che la tua domanda non sia davvero un duplicato , quindi con tutti i mezzi poni la tua domanda su Stack Overflow. Questo è ciò che il sito è lì per l'ultima volta che ho controllato.

    
risposta data 06.02.2012 - 11:35
fonte
1

È interamente soggettivo, ma ecco le mie regole di base per il mio utilizzo.

1) La mia casa è in fiamme? Ovviamente, non letteralmente, ma è un problema che richiede non solo una soluzione immediata, ma una soluzione di emergenza. Se è così, prendi una crepa, fallisci in fretta, ottieni il miglior aiuto possibile.

2) È qualcosa che posso ricercare? Se è qualcosa in cui ho tempo ed è ricercabile, percorrerò quella strada, e questo include SO come risorsa complementare. SO è fantastico, così come Wiki, così come le altre dozzine di risorse.
Leggi i lotti, aiuta a capire quando ci sono approcci diversi a un problema, ma prima spendi il tempo cercando di vedere se le tue conoscenze esistenti possono essere riapplicate al problema, quindi ti sei costruito un nuovo strumento mentale.

3) È qualcosa che non rientra nelle mie competenze / è così oscuro che ci sono probabilmente 100 persone che l'hanno mai visto? Questo succede e succede spesso. Generalmente cercherò di fare ricerche per un'ora o due, poi mi dirigo qui o altre risorse.

So che è più nobile sedersi e fare la ricerca e passare il tempo, ma spesso abbiamo dei limiti di tempo e usi tutte le risorse disponibili, anche se si ha l'impressione di "ingannare" il sistema.

    
risposta data 06.02.2012 - 17:57
fonte
0

"Quanto velocemente" sarà, per sua natura, soggettivo. Ognuno avrà un'opinione leggermente diversa.

Se non riesci a scoprire la causa del tuo problema in circa 5 minuti di visualizzazione del codice effettivo, lo farei almeno su Google. Se una buona ricerca non ha le risposte, allora inizierei a scrivere la tua domanda su SO.

Ricorda che è OK non pubblicare effettivamente la domanda; ci sono stati momenti in cui, ponendo la domanda in parole scritte, la soluzione si è presentata e non ho dovuto metterla in pratica per voi.

    
risposta data 06.02.2012 - 16:13
fonte
0

Puoi scrivere la tua domanda in anticipo, ma non dovresti postarla finché non hai studiato correttamente la fonte del tuo problema. Scrivi le cose che hai eliminato e come li hai eliminati. Dovresti anche cercare altre domande simili e se vuoi davvero pubblicare la tua domanda, spiega perché questa non è la stessa domanda.

Se lo fai correttamente, scoprirai che molte volte risolverai il tuo problema.

    
risposta data 06.02.2012 - 17:27
fonte

Leggi altre domande sui tag