En cas de blocage, avec quelle rapidité faut-il recourir à Stack Overflow? [fermé]

51

Je développe moi-même mon apprentissage iOS via le cours iTunes U CS193p et je me trouve souvent coincé. J'essaie de me débrouiller moi-même, mais il me faudra peut-être des heures et des heures pour comprendre ce que je fais de mal, qu'il s'agisse de rater une méthode ou de ne pas vraiment comprendre tout un concept comme la délégation.

Je crains de perdre trop de temps et je ferais mieux d'aller à Stack Overflow peu de temps après mon blocage pour que je puisse passer à autre chose.

D'après votre expérience, le fait de demander rapidement un dépassement de capacité entrave-t-il ou améliore-t-il le processus d'apprentissage?

Max Gabriel
la source
45
Il est important de noter que la première chose à essayer est de rechercher une réponse sur SO. Même s'il n'y a pas de réponse qui corresponde exactement à votre question, il y aura probablement quelque chose qui vous donnera un aperçu. Mais poser votre propre question est quelque chose que vous ne devriez pas faire, jusqu'à ce que vous ayez vraiment essayé de répondre à la question pour vous-même et fait un réel effort pour formuler votre question d'une manière qui indique clairement ce que vous avez et ce que vous n'avez pas. déjà essayé.
Dawood dit réintégrer Monica le
1
@DavidWallace Je suis tout à fait d'accord. Trop de gens demandent simplement sans y penser (questions de qualité médiocre), certaines personnes pensent et posent (de meilleures questions, mais je souhaite que davantage de personnes fassent des recherches avant de demander (moins de (presque) doubles).
Marjan Venema le
3
Comme pour toute question, si vous avez cherché une réponse possible vous-même en premier, vous en apprendrez plus quand vous verrez la réponse réelle: vous verrez où vous avez oublié de chercher, et la prochaine fois, vous pourrez également y chercher. Vous apprenez non seulement la réponse, vous apprenez à chercher des réponses également. Quand vous n'avez pas pensé à vous répondre auparavant, vous obtenez la réponse et vous passez à autre chose, mais vous en apprenez moins en général. Vous ne vous améliorez pas.
Konerak
3
L'approche pragmatique: SO convient mieux aux questions simples. Je vous dirais donc de demander presque immédiatement (vous devez être capable de formuler la question). Après avoir tapé le titre, la liste des questions les plus proches vous sera présentée. Assurez-vous que votre question ne figure pas dans la liste, mais il n’est pas nécessaire d’effectuer des recherches supplémentaires sur les SO.
Grzenio
6
Je pense que cela aurait probablement dû être posé sur le méta de SO.
Hugomg

Réponses:

35

Lorsque je travaille avec de nouveaux développeurs, je les encourage à venir poser des questions après cinq ou dix minutes sans faire de progrès.

Cela présente deux avantages: le premier est qu’ils peuvent obtenir de l’aide sans perdre trop de temps à regarder le problème en face, mais ils ne demandent que s’ils ne vont pas quelque part. S'ils apprennent - même sur quelque chose qui n'est pas la solution ultime - ils sont beaucoup plus susceptibles de conserver utilement ces informations.

La seconde est qu’après environ autant de temps, ils doivent expliquer le problème à quelqu'un d’autre. Cela résout une énorme proportion de problèmes, car en procédant de bout en bout, vous pouvez repérer ce que vous avez manqué dans votre travail précédent.

Puisqu'il semble que vous le faites seul, essayez de vous tourner vers un jouet en peluche, ou une horloge ou le mur, et posez-lui des questions à propos du problème. Expliquez-le comme vous le feriez à une personne et voyez si cela résout les problèmes.

Si ce n'est pas le cas et que vous ne faites pas de progrès, demandez à quelqu'un. Consacrer plus de cinq ou dix minutes de retard est une perte de temps. Si vous ne faites pas autre chose, revenez au problème avec un esprit neuf.

Daniel Pittman
la source
17
Il n'y a rien comme parler à votre chien pour se décoller. :-)
Marjan Venema
2
Et quand vous réaliserez ce que vous faites mal, votre chien sera comme " WOW! Je n'aurais jamais pensé à ça!" Beats quelques votes positifs pour un renforcement de l'ego. ;-)
un CVn le
4
+1 Cela s'appelle "débogage du canard" en parlant à votre canard en peluche. J'ai une poupée vaudou. Je l'appelle le débogage vaudou.
Sardathrion
4
Super réponse +1. J'ai été "coincé" BEAUCOUP de fois au fil des ans et j'ai constaté que la réponse me paraissait claire lorsque je l'expliquais à quelqu'un d'autre. Je trouve aussi que marcher ou faire quelque chose pour avoir la tête claire fonctionne souvent. Je ne recourrais pas trop vite à Stack Overflow, si vous déterminez vous-même la solution, vous ne l'oublierez JAMAIS! De nos jours, de nombreux programmeurs sans cervelle sont trop dépendants du Web.
AnthonyBlake
2
et beaucoup de mes questions se sont répondues pendant que je rédigeais la question sur SO. Le
aldrin le
22

Mon seul ajout aux réponses de tous les autres:

Taper votre question dans l’interface de questions StackOverflow est un excellent moyen de s’assurer que vous y réfléchissez bien. Je ne peux pas commencer à vous dire combien de questions j'ai répondues moi-même en train de les exposer assez clairement pour les poser correctement. Les questions que j'ai posées et que je n'ai pas soumises dépassent VASTEMENT celles que j'ai posées.

Donc, je dirais allez-y et demandez (après la recherche, bien sûr), mais ne soyez pas attaché à frapper "Soumettre".

Dan Ray
la source
+1 - Cela ne peut pas être surestimé. C'est une autre raison pour laquelle la formulation minutieuse de questions est si importante. (Et l'algorithme automatique de suggestion de réponse dans la barre latérale affichera d'autres questions pertinentes avec encore plus de précision).
kmote
@kmote - AIMEZ cette chose. Cela a résolu beaucoup de problèmes pour moi.
Dan Ray
1
histoire de ma vie .. résolu tellement de problèmes avant de frapper soumettre.
Ayush Goyal
20

Stack Overflow, et tous les autres sites Stack Exchange, propose un ensemble de directives pour poser des questions :

  • Fais tes devoirs
  • Être spécifique
  • Rendez-le pertinent pour les autres
  • Être sur le sujet
  • Garde l'esprit ouvert

"Faites vos devoirs" implique que vous ne devriez pas être trop prompts à demander. "Soyez spécifique" implique que vous compreniez suffisamment le domaine de votre problème pour le décrire de manière concise. Sinon, "faites vos devoirs" s'applique. "Gardez l'esprit ouvert" implique que vous devriez être prêt à explorer des solutions que vous n'auriez jamais pensé pertinentes pour votre problème.

Il ne s'agit donc pas de demander à Stack Overflow, mais de savoir si vos questions sont bonnes. Essentiellement, l'effort requis est une expérience d'apprentissage en soi. Si vous le faites correctement, vous apprendrez probablement quelques nouvelles choses simplement en recherchant des doublons. Si ce n'est pas le cas, envoyez-moi une requête ping. : P

Yannis
la source
1
J'ai commencé à utiliser cette famille de sites Web (StackOverflow, etc.) au cours des derniers mois et je dois dire que je suis extrêmement impressionné par une chose: l'orthographe et l'écriture cohérente. Même si seul un faible pourcentage des membres inscrits ont l'anglais comme langue maternelle, pratiquement tout le monde fait extrêmement attention à la façon dont il écrit. Je pense qu'il n'y a pas d'autre endroit sur Internet où une énorme base d'utilisateurs conserve une telle qualité. C'est bizarre, mais impressionnant. PS: Je voulais dire ceci pendant un certain temps, j'avais juste besoin d'un endroit pour le faire d'une façon ou d'une autre ontopique :).
Radu Murzea
1
@SoboLAN C'est la philosophie du wiki. Nous modifions constamment les publications les unes des autres, même pour des fautes d'orthographe mineures. En tant que non anglophone, lorsque je suis entré pour la première fois dans Stack Exchange, j’avais pris l’habitude d’observer le type de modifications apportées par les utilisateurs, en tirant des leçons des erreurs des autres. Un autre sous-produit positif de l'expérience Stack Exchange, je suppose. Qui sait, à un moment donné, mon anglais sera peut-être suffisamment confiant pour essayer de répondre à English Language & Usage Stack Exchange . : P
YANNIS
3

Personnellement, quand j'ai commencé à programmer, j'ai passé beaucoup de temps à essayer de comprendre. Je pourrais passer des heures à essayer de réparer quelque chose. Je ne vois pas ces heures comme n'étant pas productives. Pendant ces heures, j'ai appris à chercher des choses en ligne et j'ai vraiment compris comment mon langage de programmation fonctionnait. Donc, je pense que poser trop rapidement sur SO vous prive d'une expérience d'apprentissage. Entrer dans la programmation ne prend que très longtemps.

Ensuite, il faut se demander combien de temps il faut poser, je dirais que passer quelques heures à un problème particulier n’est pas long (notez que je viens d’un milieu universitaire, peut-être que dans le milieu commercial, cela est moins accepté).

Et lorsque vous posez une question sur les SO, investissez du temps dans la question:

  • Si vous avez une erreur, postez le texte exact de l’erreur. Affichez également le code qui a provoqué l'erreur, de préférence un exemple autonome s'exécutant sur n'importe quel ordinateur.
  • Montrez ce que vous avez déjà essayé.
  • Mentionnez les versions du logiciel que vous utilisez: versions du compilateur, version de python.

Ce ne sont que quelques points. En investissant du temps dans une question, vous respectez les personnes qui utilisent des SO, vous utilisez leur temps gratuitement. Plus important encore, vous structurez votre problème. Cela pourrait déjà résoudre votre problème :).

Juste mon 2 ct ...

Paul Hiemstra
la source
1

Je pense que l’important ici est de bien comprendre ce sur quoi vous êtes bloqué et d’essayer d’atteindre le principal problème. Une fois que vous avez vraiment cerné le problème réel, utiliser Stack Overflow est l'une des premières choses que je fais.

Mais ce n'est pas poser une question.

Il cherche toutes les bonnes réponses. Il y a de fortes chances que quelqu'un d'autre ait déjà eu le problème que vous avez actuellement et qu'il vous ait déjà posé votre question. Si vous vous sentez obligé d'utiliser Stack Overflow, souvenez-vous que ce n'est pas simplement un site pour vous de poser une question lorsque vous êtes perplexe. C'est également un référentiel pour de très bonnes informations sur la programmation informatique; utilisez la fonction de recherche.

Si vous avez cherché avec quelques termes / mots clés différents et que vous obtenez toujours rien, et que vous avez fait vos devoirs et que vous avez des exemples de code que vous pouvez montrer et que vous êtes vraiment sûr que votre question n'est pas vraiment une duplication , alors n'hésitez surtout pas à demander votre question sur Stack Overflow. C'est ce que le site est là pour la dernière fois que j'ai vérifié.

Charles Sprayberry
la source
1

C'est entièrement subjectif, mais voici mes règles de base pour mon utilisation.

1) Est-ce que ma maison est en feu? Évidemment, pas littéralement, mais s'agit-il d'un problème qui nécessite non seulement une solution immédiate, mais une solution d'urgence. Si tel est le cas, tentez votre chance, échouez rapidement et obtenez la meilleure aide possible.

2) Est-ce quelque chose que je peux rechercher? Si c'est quelque chose qui me laisse le temps et la possibilité d'être recherché, je m'engage dans cette voie, et cela inclut SO comme ressource complémentaire. SO est excellent, tout comme Wiki, ainsi que les autres dizaines de ressources.
Lisez beaucoup, cela vous aidera à comprendre les différentes approches d'un problème, mais passez d'abord votre temps à essayer de voir si vos connaissances existantes peuvent être réutilisées, puis vous vous êtes construit un nouvel outil mental.

3) Est-ce que quelque chose qui dépasse mes compétences / est si obscur qu'il y a probablement 100 personnes qui l'ont déjà vu? Cela arrive et arrive souvent. Je vais généralement faire des recherches pendant une heure ou deux, puis me diriger vers d’autres ressources.

Je sais que c’est plus noble de faire des recherches et de passer du temps, mais nous avons souvent des contraintes de temps et vous utilisez toutes les ressources disponibles, même si vous avez l’impression de «tricher» le système.

Nicholas Smith
la source
0

"À quelle vitesse" va être, par nature, subjectif. Tout le monde va avoir une opinion légèrement différente.

Si vous ne parvenez pas à identifier la cause de votre problème environ 5 minutes après avoir consulté le code réel, consultez au moins Google. Si une bonne recherche ne donne pas les réponses, je commencerais par rédiger votre question sur SO.

N'oubliez pas qu'il est correct de ne pas poster cette question. Il est arrivé que, en formulant la question par écrit, la solution se soit présentée et que je n’aie pas eu à vous la poser.

KeithS
la source
0

Vous pouvez écrire votre question plus tôt, mais vous ne devriez pas la poster avant d’avoir recherché la source de votre problème. Ecrivez les choses que vous avez éliminées et comment vous les avez éliminées. Vous devriez également rechercher d’autres questions similaires et, si vous souhaitez vraiment poser votre question, expliquez pourquoi ce n’est pas la même question.

Si vous le faites correctement, vous constaterez souvent que vous résolvez votre propre problème.

Marcin
la source