Vous avez déjà quelques bonnes réponses, mais laissez-moi ajouter une petite touche ...
J'aime les gens qui utilisent la documentation et c'est un grand signe de votre professionnalisme.
Je n'utilise pas de documentation
Je connais suffisamment de programmeurs qui trébuchent sans plan réel pendant de longues périodes, essayant ceci et cela par hasard, sélectionnant l'ancien code source où ils veulent à réaliser semble avoir déjà été fait (mais pas tout à fait) et ainsi de suite. Franchement, je déteste ce genre d'approche. Ils ne vont jamais très loin, doivent souvent demander aux gens, prennent rarement des conseils et préfèrent continuer comme ça pour toujours, apparemment.
Seulement des tutoriels?
Les gens recherchent fréquemment des tutoriels ou des extraits de code sur Google y compris SO, sans jamais faire référence à la documentation, m'irrite sans fin. Ce comportement est un énorme piège, à mon avis. Cela conduit à une sorte de programmation alimentée par des «connaissances» à moitié cuites, arbitraires et non systématiques. Ces programmeurs ont tendance à se retrouver avec beaucoup de préjugés. C'est de là que viennent des pépites comme "ne jamais utiliser git rebase
", "ne jamais utiliser pas dans
en SQL", "toujours faire XXX", "ne jamais faire YYY". Ils auront du mal à sortir des sentiers battus, à trouver de nouvelles idées, à se faire une idée de la manière de structurer leurs applications et de tout ce qui fait de grands développeurs.
Je vous exhorte à résoudre tout problème en regardant d'abord la documentation / référence, et ensuite recherchez SO ou d'autres extraits.
Bien sûr, il y a des exceptions. Si votre problème est de toute évidence quelque chose comme un bogue, ou quelque chose de très, très, très spécial qui est peu susceptible d'être traité dans toute sorte de documentation (par exemple, une combinaison spéciale de bibliothèques / modules, etc.), alors allez-y bien. à SO.
Si c'est quelque chose qui pourrait facilement être compris par la documentation / API, alors je suggérerais de vous asseoir et de travailler sur cette partie particulière de votre langage de programmation / bibliothèques, etc. afin que vos connaissances soient plus précises.
Documentation
Le meilleur type, pour moi, est un programmeur qui, lorsqu'il rencontre un nouveau sujet, prend le temps de vraiment s'asseoir, creuser dedans, avoir une bonne vue d'ensemble et une bonne compréhension technique. Ceci est la plupart du temps réalisé (encore une fois, d'après mon expérience, avec les nombreux langages de programmation avec lesquels j'ai été en contact) en lisant la bonne vieille documentation, y compris les références API et ainsi de suite. Cela ne peut, à mon avis, jamais être remplacé par autre chose.
Je ne trouve pas bizarre de lire, par exemple, les vieux classiques du C ++ (bon vieux papier), le Gang of Four Design Patterns, la (version en ligne du) manuel "Programming Ruby", les pages de manuel Perl extrêmement bien faites, le livre Git, certains RFC, le HTML / XML / etc. spécifications et ainsi de suite d'avant en arrière. Je le ferais et l'aurais fait même pendant mon temps libre et je l'attendrais franchement de n'importe quel programmeur digne de ce nom (en fonction de ce avec quoi ils travaillent, évidemment). Je suis également parfaitement conscient que je suis (au moins dans les entreprises dans lesquelles j'ai travaillé, au cours des dernières décennies) tout à fait seul avec cette opinion.
(NB: vous n'avez évidemment pas besoin de mémoriser listes de références d'API, mais au moins les passer sous silence pour voir ce qui est disponible et ce que semble être «l'esprit» de l'API.)
Après avoir été parfaitement à l'aise avec le sujet, alors est le moment de regarder du code tiers pour vous inspirer, ou de regarder des questions plus anciennes sur le SO (ou de poser de nouvelles questions vous-même).
Vous pourriez aussi trouver cela lorsque vous en avez absorbé une comme celui-ci, il devient très facile de trouver des réponses en zoomant directement sur la viande d'où vous obtenez votre documentation (pages de manuel, etc.). À ce stade, la saisie semi-automatique de votre éditeur peut également suffire déjà. Et vous pourriez aussi bien savoir assez vite quand quelque chose n'est tout simplement pas possible avec l'outil avec lequel vous travaillez, ce qui vous évitera beaucoup de recherches futiles.