Question:
Est-ce que l'utilisation de la documentation en tant que développeur me fait paraître peu professionnelle?
pguetschow
2016-11-29 15:43:59 UTC
view on stackexchange narkive permalink

Je suis développeur junior et je travaille tous les trois mois dans une société de développement logiciel dans le cadre de mes études en entreprise.

Même si je programme depuis presque 1 an (3 x 3 mois expérience professionnelle + projets annexes) Je dois souvent vérifier la documentation et / ou Stack Overflow pendant ma journée de travail. Je crains que cela ne me fasse paraître peu professionnel ou plus inexpérimenté que je ne le suis en réalité (je suis assez à l'aise pour concevoir et créer des logiciels, mais je dois souvent rechercher des termes tels que «Fonction PHP / JavaScript qui fait XYZ»). Dans la plupart des cas, je devrais déjà le savoir, car je l'ai déjà utilisé auparavant, mais je veux vérifier avant de faire des erreurs.

La raison pour laquelle je pose cette question est que je me moque en quelque sorte d'avoir utilisé Stack Overflow / documentation si souvent qui fait douter les autres et moi-même de mes capacités. Pour moi, il est naturel de travailler plus efficacement et de devenir plus conscient de la langue. Quelqu'un m'a dit un jour quelque chose comme: «Un chirurgien ne peut pas lire ses livres à chaque fois qu'il doit opérer un patient.» Ce qui est à mon avis insensé.

Je demande aussi l’avenir; par exemple. si je dois écrire du code pendant une entrevue pour un autre travail, je suppose que vous ne devriez pas utiliser la documentation.

Je suis senior et j'ai généralement au moins 3 onglets de navigateur avec un débordement de pile et 2 avec une documentation ouverte à tout moment.
«Professionnel» ne veut pas dire la même chose que «mémoire photographique parfaite».
Les commentaires ne sont pas destinés à une discussion approfondie;cette conversation a été [déplacée vers le chat] (http://chat.stackexchange.com/rooms/49323/discussion-on-question-by-techtreedev-does-using-documentation-as-a-developer-ma).
`La raison pour laquelle je pose cette question est que je suis moqué pour avoir utilisé si souvent Stack Overflow / documentation, ce qui fait douter les autres de mes capacités`, question stupide, qui sont ceux qui se moquent de vous pour avoir utilisé SO et ainsi de suite?Manager, IT ancienne génération qui réécrivent toujours le framework par eux-mêmes au lieu d'utiliser ceux robustes existants, quelqu'un d'autre?
vous vous demandez simplement pourquoi pensez-vous que la documentation existe, si vous n'êtes pas censé l'utiliser?
Vous ne savez pas ce que vous demandez.Si vous posez des questions uniquement sur la documentation, il devrait être évident que la réponse est «non».Si vous incluez StackOverflow en tant que `` documentation '', je considérerais que vous commettez une erreur, et si vous demandez si le fait d'être vu pour utiliser StackOverflow est beaucoup professionnel, c'est au moins une question complètement différente de celle sur l'utilisation de la documentation..
S'assurer que vous faites quelque chose correctement, en vérifiant les sources d'informations supplémentaires ne semble en aucun cas non professionnel.Au moins à mon avis, on voudrait un employé qui s'efforce de s'assurer qu'il fait son travail correctement la PREMIÈRE fois.
@Erik, eh bien, en tant que ** senior **, vous avez sans doute commencé à perdre la mémoire .... `:-)`
J'ai été ingénieur logiciel pendant 40 ans et pendant ce temps j'ai écrit environ 250 000 mots de documentation.Je serais très ennuyé si personne n'y faisait référence.
@3.1415926535897932384626433 ... Je ne perds pas la mémoire.Je n'en ai jamais eu pour commencer :(
Est-il pire d'être moqué pour avoir consulté de la documentation ou renvoyé pour avoir écrit du code médiocre / non fonctionnel?Rappelez à quiconque se moque de vous que très, très peu de gens ont une mémoire photographique, et même si vous l'avez fait, la mémoire de quelque chose qui a changé depuis n'est pas très utile.
Le Daily WTF est plein de code évidemment écrit par des personnes qui n'ont pas lu la documentation.
On dirait qu'il est temps de trouver une meilleure entreprise qui emploie des personnes plus intelligentes.
* vérifie mon propre profil stackoverflow *: visité 2399 jours, rédigé 224 réponses.Donc, au minimum, j'étais là 2 175 fois pour voir si d'autres personnes pouvaient m'aider avec mon problème actuel.Comme je le fais généralement plusieurs fois par jour, je vous garantis que le nombre de fois où j'ai réellement eu besoin d'aide est beaucoup, beaucoup plus élevé.Je codifie depuis 30 ans.:)
Quinze réponses:
user45590
2016-11-29 15:56:58 UTC
view on stackexchange narkive permalink

Ne vous inquiétez pas: vous êtes un professionnel et vous agissez comme tel.

Les professionnels utilisent toutes les ressources disponibles pour faire le travail, y compris la documentation, le code écrit par d'autres (bibliothèques), l'aide d'experts, etc.

Il n'est pas non plus professionnel d'avoir besoin de consulter une ressource externe. En fait, il ne serait pas professionnel de ne pas utiliser la documentation si vous n'êtes pas sûr de la façon dont quelque chose fonctionne.

Votre niveau de dépendance à la documentation montre-t-il une inexpérience? Bien sûr, dans une certaine mesure. Mais vous êtes inexpérimenté . Après seulement quelques mois de travail, vous n'en saurez pas autant qu'une personne ayant de nombreuses années d'expérience. C'est juste un fait, et personne ne vous en voudra.

Cependant, même les développeurs avec 20 ans d'expérience vérifieront la documentation pour certaines choses. Cela fait toujours partie de la boîte à outils d'un développeur.

Les tests de programmation sont une chose légèrement différente.

Puisqu'ils sont conçus pour évaluer vos propres connaissances et capacités, vous devrez souvent les compléter sans documentation. Ce n'est pas parce que la documentation est mauvaise; c'est juste que, dans l'environnement artificiel d'un bref test qui tente d'évaluer votre capacité globale, les ressources externes peuvent confondre cette image.

Cependant, les tests de programmation typiques sont de nature conceptuelle . Ils concernent généralement votre capacité à créer un algorithme, à concevoir une solution à un problème et à suivre de bonnes pratiques de codage. Ce ne sont pas des choses que vous obtiendriez de toute façon de la documentation. Une erreur de syntaxe mineure occasionnelle n'affectera probablement pas beaucoup votre évaluation.

Merci, c'est une réponse bien écrite.M'a également donné une impression de tests de programmation, parce que j'ai toujours peur de quelque chose comme ça;créer un programme qui doex X en utilisant le Language / Lib Y. Aussi + pour supprimer mes insécurités :)
Rien de pire qu'un programmeur écrivant une solution buggy pour un problème courant.
@Chris Presque aussi mauvais, cependant, est un programmeur (encore pire s'il est supposé expérimenté) qui propose une solution O (n ^ 3) ou O (n!) À quelque chose qui peut être résolu peut-être même en O (n log n),en particulier lorsque l'ensemble de données d'entrée peut être de taille non triviale.La documentation peut vous aider à bien écrire le O (n ^ 3), mais elle ne peut pas (aussi facilement) vous aider à trouver l'approche O (n log n).
`Votre niveau de dépendance à l'égard de la documentation montre-t-il une inexpérience?Bien sûr, dans une certaine mesure. »- non, ce n'est pas le cas.
@BЈовић Je voulais simplement dire qu'un débutant doit vérifier les documents plus souvent qu'un expert.
Et après plus d'années d'écriture de logiciels que je ne veux le mentionner, je consulte TOUJOURS la documentation.(En effet, j'ai des macros d'éditeur qui ouvriront des documents en ligne pour tout ce qui a des pages de manuel.) D'une part, il y a beaucoup de choses qui n'étaient tout simplement pas là quand j'ai commencé: CUDA, MPI, OpenMP, et probablementtrucs que quelqu'un a inventé le mois dernier et dont je pourrais avoir besoin bientôt.Pour un autre, j'ai trouvé qu'il était beaucoup plus utile de savoir où trouver ce dont j'avais besoin, que de faire le tour en croyant tout savoir :-)
Dan, bien dit.Vous n'essaieriez pas d'assembler une machine à laver sans le manuel.c'est ridicule.
C'est une bonne réponse.J'ajouterais également qu'un développeur professionnel repousse constamment les limites de ses connaissances et de ses compétences.Si vous n'avez pas besoin de rechercher fréquemment des choses, cela signifie que vous ne travaillez probablement pas très souvent en dehors de votre zone de confort.
+1!"Je fais confiance à un médecin qui n'a pas peur de l'embarras pour choisir un livre pour vérifier si le (s) traitement (s) qu'il prescrit est le bon".Il en va de même pour les autres professionnels
35 ans de programmation et je lis et j'apprends toujours tous les jours.Stack Overflow est une partie importante de mon travail et je suis très fier de l'utiliser et d'y contribuer.les bons programmeurs lisent toute leur vie.Les mauvais programmeurs s'arrêtent après un an ou deux à cause de l'ego et de l'arrogance.
@Chris exactement - c'est ainsi que nous avons abouti à PHP: D
Dans le développement de logiciels (et à peu près dans tous les métiers!), Ce que vous saviez avant devient obsolète avec le temps, donc même si vous vous souvenez comment faire quelque chose, il vaut la peine de vérifier s'il existe une nouvelle façon de le faire mieux.
@MichaelDurrant: 36 ans et plus, et "moi aussi".
Un point important: les changements de logiciel!- J'espère que la plupart de vos collègues très expérimentés n'écrivent pas un logiciel de la même manière qu'ils l'ont appris il y a 10 ans.Toute l'expérience du monde ne vous aidera pas à savoir comment fonctionne la nouvelle fonctionnalité qui a été publiée la semaine dernière ... Développer un logiciel moderne implique une lecture constante de l'API actuelle et des meilleures pratiques.- Même avec une mémoire photographique ;-)
Mathematics
2016-11-29 19:26:09 UTC
view on stackexchange narkive permalink

Est-ce que l'utilisation de la documentation en tant que développeur me fait paraître peu professionnel?

Non, cela signifie en fait le contraire ... car vous ne dérangez pas vos seniors en posant des questions que l'on peut facilement trouver sur Internet ou via la documentation.

La plupart d'entre nous, les développeurs, ne se souviennent pas de milliers de lignes de documentations ... tout le temps, spécialement lorsque nous basculons entre les technologies

Je demande aussi l'avenir; Par exemple, si je dois écrire du code pendant une entrevue pour un autre travail, je suppose que vous ne devriez pas utiliser la documentation.

La plupart des entreprises raisonnables aimeraient tester la logique / structure que vous venez de créer dans un test de codage .. pas tellement sur la syntaxe.

"Non, cela signifie en fait le contraire ... car vous ne dérangez pas vos aînés en posant des questions que l'on peut facilement trouver sur Internet ou grâce à la documentation."Bien que vous deviez bien sûr chercher vos propres réponses à des questions simples, je pense que le ton est faux: vos collègues préféreraient probablement être «dérangés» par des questions plutôt que de vous faire perdre une journée entière à essayer de trouvera commencé une tâche.Alors n'ayez pas peur de demander des pointeurs / direction, mais tenez-vous-en à la documentation pour des choses comme "quel est l'ordre des paramètres de cette fonction?".
@Mikkel Je pense que vous avez manqué la partie disant ... "facilement trouver sur internet ou dans la documentation" ...
En tant que développeur de logiciels professionnel, il est bien préférable de lire la documentation, de trouver de la documentation et de comprendre comment utiliser les réponses en libre-service à partir de la documentation plutôt que de faire appel à d'autres collègues.
@Mathematics Je pense que le point auquel Mikkel pense réellement est que vous commencez à trouver la solution sur Internet parce que vous ** pensez ** que c'est facile à faire, puis il s'avère que ce n'est pas le cas et vous êtes resté à la chercher toute la journée parce que vous avez oubliéque vous pouvez simplement demander à quelqu'un d'autre.
@Mikkel Si vous ne parvenez pas à obtenir de la traction, oui, mais consulter Internet pour trouver des solutions évidentes est une excellente première (et souvent la meilleure) première étape.Souvent, ce type de recherche initiale vous aidera à * mieux formuler * vos questions aux autres lorsque vous vous heurtez à un mur, ce qui leur permettra de vous aider plus facilement.
@Mikkel Dans une certaine mesure.Cependant, la compétence que vous devez développer en tant que développeur est un certain niveau d'autonomie.Par conséquent, l'approche devrait être d'essayer de découvrir vous-même, puis de demander.Si vous posez des questions trop frivoles, vous n'allez pas à l'encontre des compétences de résolution de problèmes.Mais alors combien c'est trop de temps ... Alors demandez certainement mais ne demandez pas tout.
Pas vraiment dans l'industrie du logiciel moi-même, j'entends régulièrement des chefs de projet / programmeurs seniors qui trouvent qu'ils ne peuvent pas faire grand-chose parce que les nouveaux programmeurs posent continuellement des questions de base.C'est toujours un défi d'équilibre, mais travailler pour s'assurer que des réponses simples ne sont pas négligées et améliorer votre propre rétention est certainement vital, à la fois pour ce qui est accompli à court terme et pour faire du programmeur une ressource plus demandée à long terme..
Seth R
2016-11-30 00:43:48 UTC
view on stackexchange narkive permalink

Quelqu'un m'a dit un jour quelque chose comme: "Un chirurgien ne peut pas lire ses livres à chaque fois qu'il doit opérer un patient."

Celui qui vous a dit cela ne sait pas comment fonctionne la chirurgie. À moins que ce ne soit une procédure très courante que le chirurgien a pratiquée cent fois, les bons passent beaucoup de temps à étudier avant chaque patient qu'ils voient. Ils passent aussi de nombreuses années à la faculté de médecine à étudier un sujet qui n'a pas beaucoup changé depuis plusieurs milliers d'années.

Vous êtes dans votre première année dans une industrie où de nouvelles façons de faire sont inventées chaque semaine. Vous êtes inexpérimenté, il faut donc s'attendre à ce que vous deviez rechercher fréquemment des choses. Tant que vous avez les bases pour savoir si les solutions que vous trouvez résolvent réellement votre problème et que vous apprenez de l'expérience, il n'y a rien de mal à cela. Je suis ingénieur logiciel depuis 15 ans et je dois encore chercher des choses presque tous les jours. Un professionnel utilise toutes les ressources dont il dispose pour faire le travail.

* un sujet qui n'a pas beaucoup changé depuis plusieurs milliers d'années *… Quoi?La médecine n'a pas changé?
Je faisais plutôt référence au corps humain lui-même.Mais vous avez raison, la médecine a beaucoup changé (mais toujours pas au rythme de l'informatique).
Je me suis moi aussi retrouvé à me concentrer sur cette analogie avec le chirurgien qu'on avait dit à l'OP comme étant complètement déconnectée: bien que je sois sûr que de nombreux chirurgiens ne se préparent pas pour les chirurgies, parce que les gens sont généralement déficients, je dirais que c'est définitivement le cas queL'un des principaux facteurs qui font que les meilleurs chirurgiens sont les meilleurs est qu'ils examinent régulièrement le matériel pertinent avant toute procédure donnée et se mettent en quatre pour actualiser / mettre à jour leurs connaissances de manière habituelle.
L'analogie du chirurgien n'est valable à mon avis que pour le "développement en production".L'analogie est que si vous prenez trop de temps ou si vous ne parvenez pas à mettre en œuvre le correctif à temps, votre patient meurt.Même les chirurgiens perfectionnent leur art sur des cadavres avant «d'opérer dans un environnement de production».
jawo
2016-11-29 18:57:01 UTC
view on stackexchange narkive permalink

Le professionnalisme et les connaissances sont deux choses complètement différentes.

Rechercher des informations auprès de sources tierces signifie que vous manquez de connaissances, pas de professionnalisme. Le manque de connaissances est un sujet pour lui-même, mais dans l'ensemble, personne ne sait tout.

Si vous connaissez votre manque de connaissances et que vous le gérez en recherchant des informations auprès de sources tierces, cela signifie que vous avez un stratégie professionnelle pour résoudre votre problème spécifique de manque de connaissances.

Ne pas chercher les choses sans savoir que les choses ne sont pas professionnelles, mais ce n'est pas votre cas.

Lectures supplémentaires sur un effet qui contraste avec votre "stratégie d'utilisation de la documentation": l'effet Dunning – Kruger

Je crois que beaucoup de gens, moi y compris, surestiment ce qu'ils savent de l'effet Dunning - Kruger
Daerdemandt
2016-11-29 20:39:01 UTC
view on stackexchange narkive permalink

Est-ce que l'utilisation de la documentation en tant que développeur me fait paraître peu professionnel?

Non. Se souvenir de petits détails arbitraires est un gaspillage de vos ressources. Vous devrez vous en souvenir à la fois en PHP (qui manque un peu de cohérence) et dans le développement Web en général, si vous vous familiarisez avec plusieurs langages et une douzaine de frameworks.

On me moque si souvent d'utiliser SO / Documentation, ce qui fait douter de mes capacités

Ce n'est peut-être pas le moyen le plus efficace de résoudre vos tâches.

En utilisez-vous IDE? Vos collègues en utilisent-ils? Parce que la recherche de ces moindres détails peut être supprimée dans la fonction de saisie semi-automatique de l'IDE. L'utilisation de la saisie semi-automatique est plus efficace que de déplacer votre attention vers le navigateur et d'y rechercher une réponse.

Si vos collègues utilisent la saisie semi-automatique de leur IDE et que vous utilisez Google à la place, cela peut sembler non professionnel - non pas parce que vous consultez des documents, mais vous le faites de manière inefficace.

Si vos collègues comptent sur leur mémoire et que vous comptez sur la saisie semi-automatique, vous serez en mesure de les surpasser dans des tâches qui utilisent un cadre que vous ne connaissez pas, ce qui n'est pas cela rare sur le Web.

Maîtrisez vos outils et montrez des performances, c'est professionnel.

Comment la saisie semi-automatique (une fonctionnalité que je déteste personnellement) vous aiderait-elle à comprendre ce que fait une fonction particulière ou quels sont ses arguments?
@jamesqf, lorsque la complétion se limite aux variables avec des types compatibles pour l'argument au curseur, vous pouvez à peu près simplement écraser le clavier et obtenir un code viable en un rien de temps après tout.Vous pouvez également spéculer sur les noms de fonction et voir si l'achèvement aboutit à une liste de candidats non vide.Encore;écraser, écraser, construire et expédier.Le codage est si simple!
@jamesqf avec un langage incohérent comme php en particulier, obtenir simplement des suggestions de noms et des ordres de paramètres est une grande fierté: http://imgur.com/a/lVFmA
@jamesqf> * Comment la saisie semi-automatique vous aiderait-elle à comprendre ce que fait une fonction particulière? * Ce n'est pas la question d'OP.OP doit gérer des trucs comme [ceci] (http://phpsadness.com/sad/4) et [this] (http://phpsadness.com/sad/9) et googles "Fonction PHP qui fait XYZ" régulièrement. Eh bien, commencez simplement à taper ce que vous vous rappelez du nom de la fonction et la saisie semi-automatique offrira des options. Quant aux arguments attendus, ils sont généralement également répertoriés.
@Steve Cela n'aiderait que si vous vous souveniez déjà vaguement du nom d'une fonction, et en particulier par quoi le nom commence (comme dans votre exemple).À titre de comparaison, supposons que vous programmiez en C ++ et que vous ayez forggen le nom de la fonction qui convertit un caractère de minuscules en majuscules.La réponse est «plus difficile», mais si vous avez oublié ce fait, la saisie semi-automatique ne vous aidera pas du tout.
@Brandin Je tape `upper` (dans le fichier PHP) et IDEA propose 3 options:` ctype_upper`, `mb_strtoupper` et` strtoupper`.Aucun de ceux-ci ne commence par «supérieur», mais ils sont tous pertinents.Êtes-vous sûr que la saisie semi-automatique pour C ++ est bien pire?
@Daerdemandt Je veux juste dire que cela dépend du nom de la fonction.Le fait est qu'il n'y a peut-être aucune raison pour que vous vous souveniez d'une partie du nom.Un meilleur exemple est peut-être strpbrk.Si vous ne connaissiez pas déjà le nom, il n'y a probablement pas de manière terrestre de penser à ce nom.Le fait qu'il contienne "str" n'est pas non plus utile, car des dizaines de fonctions l'ont aussi.
@Brandin wow maintenant c'est un nom déroutant qui reflète des compromis qui ne sont plus pertinents de nos jours.N'y a-t-il pas un paquet d'alias largement accepté pour ces noms cryptiques?Quelqu'un devrait faire quelque chose à ce sujet, plutôt que de le supporter quotidiennement.Quoi qu'il en soit, bien qu'il n'y ait pas de solution miracle et que des documents de vérification soient parfois nécessaires, un IDE correctement configuré aidera OP à savoir qu'il devrait `htmlentities` pour encoder et` html_entity_decode` pour décoder.
Giacomo1968
2016-11-29 22:41:49 UTC
view on stackexchange narkive permalink

D'autres ont fourni des réponses solides, mais personne n'aborde vraiment cette question de front; Je mets l'accent en gras:

La raison pour laquelle je pose cette question est que je me fais moquer d'avoir utilisé fréquemment Stack Overflow / documentation ce qui fait douter les autres de mes capacités.

Qui sont ces gens qui «se moquent» de vous et comment le savez-vous «… fait douter les autres de [vos] capacités?»

Tout cela semble comme le bizutage de variété de jardin (aka: commun) pour moi. Si vous êtes un développeur junior, vous êtes naturellement dans une hiérarchie où d'autres vont vous tester et pousser des boutons dans le cadre de leur propre comportement de bizutage. Cela arrive qu'ils en soient conscients ou non; c'est tout simplement normal pour le cours.

En fin de compte, chaque personne dans le monde utilise des outils de référence pour accomplir son travail. Heck, les avocats et les médecins n'ont-ils pas des tonnes de références et de livres auxquels ils se réfèrent constamment? La programmation n'est pas différente.

Votre travail en tant que programmeur est de relier les désirs d'un projet à la réalité du code lui-même. Votre travail n'est pas de mémoriser des absurdités obscures. et si vous arrivez au point où vous pouvez vous souvenir - et même visualiser - des absurdités obscures, alors félicitations! Mais cela ne se produit pas du jour au lendemain et parfois pas du tout pour certains.

FWIW Je travaille sur ordinateur depuis plus de 20 ans et ce n'est que depuis quelques années que je peux littéralement visualiser des solutions dans mon head sans écrire une ligne de code. C'est une compétence dans laquelle on se développe et on ne peut pas exiger que quelqu'un possède à la demande.

psr
2016-11-29 22:00:03 UTC
view on stackexchange narkive permalink

Bien que cela ne vous fasse pas paraître non professionnel pour un professionnel (la grande majorité du temps), vous voudrez peut-être faire preuve de prudence devant un client ou un responsable naïf. Tout comme vous, avec près d'un an d'expérience en programmation, ne savez pas si les professionnels ont besoin de faire des recherches, les personnes ayant une expérience encore moins pertinente pourraient également être incertaines.

En fait, j'ai défendu d'autres développeurs à quelques reprises lorsqu'un client d'un engagement de conseil a dit quelque chose du genre "pourquoi est-ce que je paie beaucoup d'argent pour quelqu'un qui ne peut même pas écrire du code sans regarder sur Internet? "

Cela a été rare, mais bien sûr, je ne sais pas combien de personnes ont eu une mauvaise impression mais sont restées silencieuses.

Cela dépend grandement de la complexité du code.Consulter la documentation standard de la bibliothèque?(Génial!) Consulter des exemples d'affectation de variables après des années d'utilisation de la langue?(Hmmm ....) Un développeur de base de données copiant et collant SQL à partir d'une réponse à un vote trouvée sur Stack Overflow après des minutes de recherche, juste pour faire un "select distinct" sur quelques colonnes?(Que se passe-t-il dans l'ENFER?) (Remarque: ce sont tous de vrais exemples. Et oui, je veux dire un développeur * de base de données. *)
"*" pourquoi est-ce que je paie beaucoup d'argent pour quelqu'un qui ne peut même pas écrire du code sans le chercher sur Internet? "*" - "[un imbécile et son argent sont bientôt à égalité ...] (http: // i.imgur.com / 2O5gy9Z.jpg) "
Parce que vous n'avez pas suffisamment de bases pour comprendre ce qui se dit sur Internet ou que vous n'avez pas le temps de le faire.
Personnellement, j'ai tendance à taper tout ce que j'utilise de SO.Surtout pour que je l'ai écrit au moins une fois, ce qui m'aide à m'en souvenir la deuxième fois que j'ai besoin de le chercher.
HLGEM
2016-11-29 22:08:10 UTC
view on stackexchange narkive permalink

Il n'est certainement pas non plus professionnel de rechercher des choses lorsque vous n'êtes pas familier.

Cependant, si vous ne retenez pas ces connaissances et que vous recherchez continuellement les mêmes choses , il peut y avoir un problème. C'est inefficace. Cela vous rend plus lent et cela pourrait être la cause des moqueries. Vous devez apprendre les bases de votre profession au point où vous n’avez pas besoin de les consulter à chaque fois.

Je dirais que la disponibilité de la documentation amène les gens à mémoriser moins de ce qui est disponible dans la documentation.C'est comme "eh bien, cette fonction s'appelait quelque chose comme .... oui, voici sa description avec tous les détails dont j'aurais besoin".
C'est vrai, bien qu'avec le grand nombre de frameworks, de langages, de packages, de modules, etc. disponibles, il est vraiment impossible de se souvenir de tout.Même si j'ai construit des pipelines de clustering k-means une douzaine de fois dans MATLAB pour diverses sources de données, cela ne signifie pas que je peux l'implémenter tout de suite pour un client en Python sans consulter la documentation.
Ai-je dit tout savoir?J'ai dit connaître les bases (les choses que vous utilisez fréquemment).
200_success
2016-11-30 02:10:41 UTC
view on stackexchange narkive permalink

Il est beaucoup plus professionnel de lire la documentation et de faire le bon code que de deviner et de se tromper. Cela est particulièrement vrai pour un langage comme PHP, où la bibliothèque standard est conçue au hasard, difficile à mémoriser et pleine de pièges.

Prenons, par exemple, le mail () fonction. Saviez-vous que…

  • additional_headers n'a pas de protection contre l'injection d'en-tête de courrier. Par conséquent, les utilisateurs doivent s'assurer que les en-têtes spécifiés sont sûrs et qu'ils contiennent uniquement des en-têtes. c'est-à-dire ne jamais démarrer le corps du courrier en mettant plusieurs nouvelles lignes.

    Si vous n'êtes pas conscient de cette mise en garde, vous finissez par introduire une vulnérabilité de sécurité.

  • Lors de l'envoi d'un mail, le mail doit contenir un en-tête From. Cela peut être défini avec le paramètre additional_headers , ou une valeur par défaut peut être définie dans php.ini.

    Cela signifie que votre application est le comportement peut dépendre d'un paramètre de configuration global. C'est utile à savoir, afin d'éviter d'écrire du code qui semble fonctionner correctement sur une machine, mais qui n'est pas portable sur une autre.

  • Le $ to Le paramètre doit être conforme à la RFC 2822.

    Vous avez vu des milliers d'e-mails, vous pensez donc savoir à quoi ressemble une adresse e-mail acceptable, droite? Lisez les spécifications - vous seriez probablement surpris.

Bien sûr, vous pourrez peut-être créer plus de code en ne lisant pas attentivement la documentation, mais ce ne serait probablement pas code de qualité professionnelle . Il n'y a pas de honte à consulter fréquemment la documentation pour vous assurer que vous utilisez correctement le langage et les bibliothèques.

Il n'y a pas de honte à consulter la documentation - c'est vrai.Il y a juste de la honte à utiliser PHP.:RÉ
Snowlockk
2016-11-29 16:20:30 UTC
view on stackexchange narkive permalink

Chercher des choses dont vous n'êtes pas sûr vous fait gagner du temps et vous permet également de rechercher de meilleures façons de faire quelque chose. Être coincé à faire la même chose encore et encore de manière inefficace alors qu'il existe une meilleure façon de vérifier simplement le net n'est pas bon.

Arthur Hv
2016-11-30 04:24:12 UTC
view on stackexchange narkive permalink

Comme d'autres ont répondu, il n'y a rien de tel que de ne pas être professionnel pour vérifier la documentation, d'autant plus que vous êtes junior, d'autant plus que la programmation est vaste et qu'il y a toujours un détail que vous pouvez oublier et que vous avez une mission pour votre code. correct.

Il y a cependant des cas que je considérerais comme des abus de documentation.

J'ai un collègue qui est parfois incapable de trouver sa propre solution à un problème donné. Par conséquent, il procède parfois à la vérification du Web pour savoir comment résoudre son problème. La dernière fois, par exemple, il a vérifié comment un framework Web architecturait les validateurs et les compteurs d'erreurs, car il avait une fonctionnalité apparemment similaire à concevoir.

C'est un cas où ce que vous recherchez est beaucoup trop abstrait pour qu'Internet puisse vous aider. Pire encore, vous pourriez trouver des solutions qui semblent convenir, mais qui ne le font pas, car elles sont appliquées à un cas d'utilisation différent. En essayant de récupérer du code / architecture / modèle prédéfini, il aurait plus ou moins de code injecté dans notre base qui aurait pu fonctionner, mais serait difficile à maintenir car écrit par quelqu'un d'autre dans un but différent.

Je ne regarde pas souvent la documentation parce que j'écris du code qui utilise principalement les fonctionnalités du langage de base (pas de cadre) et je suis doué d'une mémoire fiable en matière de code, mais j'utilise la documentation chaque fois que je suis coincé sur quelque chose de trivial . Cependant, si je suis coincé sur quelque chose de plus haut niveau, la bonne chose à faire est de demander l'aide d'un collègue plus expérimenté, vous obtiendrez une bien meilleure réponse.

gnasher729
2016-11-30 15:21:58 UTC
view on stackexchange narkive permalink

Il y a une différence entre «professionnel» et «bien informé». S'il y a des informations que j'ai besoin de connaître et que j'ai le choix entre m'asseoir bêtement sur ma chaise et rester coincé, ou vérifier la documentation, alors je vérifie la documentation. C'est absolument professionnel.

Si cette information est quelque chose qu'une personne bien informée dans ma position devrait connaître, alors la recherche peut montrer que je ne suis pas aussi bien informé que je devrais l'être, mais c'est toujours entièrement professionnel - puisque l'alternative ce n'est pas le savoir et ne pas l'apprendre. Ce qui (la partie non d'apprentissage) n'est pas du tout professionnel.

Il serait stupide de supposer que vous savez tout ce que vous devez savoir, car il y aura chaque jour quelque chose de nouveau que vous devriez savoir, qui n’était pas là hier. Même si vous savez quelque chose, comment savez-vous que vos connaissances sont les meilleures possibles? Vous consultez la documentation pour savoir s'il existe de meilleures connaissances sur le même sujet.

Il est rare qu'il y ait un problème que je ne parviens pas à résoudre moi-même. Mais cela prend du temps. Étant donné le choix entre prendre une heure pour le comprendre moi-même et cinq minutes avec Google, passer l'heure n'est pas professionnel.

AnoE
2016-12-02 18:29:30 UTC
view on stackexchange narkive permalink

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.

lui?`Seulement des tutoriels?` Je correspond à celui-là et je ne suis dans aucune partie du gang `C'est là que des pépites comme" ne jamais utiliser git rebase "," ne jamais utiliser pas dans SQL "," toujours faire XXX ","jamais YYY" ne vient de`.Mais je suis d'accord qu'il y a pas mal de développeurs qui cherchent simplement "comment faire X" et obtiennent le code sans comprendre ce qu'ils font.Ce ne sont pas spécialement un "tutoriel seulement" mais plus probablement un "Cela fonctionne sur mon ordinateur et je m'en fous du reste"
Exactement, @Walfrat.J'ai essayé de formuler cette partie de ma réponse assez fortement mais pas en termes absolus, j'espère que vous pourrez vivre avec cela.;)
Anthony X
2016-12-05 07:57:49 UTC
view on stackexchange narkive permalink

Votre compétence en tant que programmeur concerne la façon dont vous pouvez prendre une vue d'ensemble et concevoir des solutions efficaces, et non le nombre d'API que vous pouvez mémoriser. Le but est de faire le travail correctement et efficacement. Si vous deviez rechercher chaque API et chaque détail, je dirais que vous rencontrez des problèmes. Je m'attendrais à ce qu'un bon développeur soit parfaitement familier avec tout ce qui est utilisé fréquemment, récemment et régulièrement, mais ne gaspille pas de cervelle sur des choses rarement utilisées quand elles peuvent être facilement recherchées. Si vous avez visité stackoverflow plus ou moins une fois par jour, ce n'est pas un problème; si vous y êtes presque toute votre journée de travail, ce serait un problème.

Brad Thomas
2016-12-06 20:36:28 UTC
view on stackexchange narkive permalink

Je suis un peu ridiculisé pour avoir utilisé si souvent Stack Overflow / documentation

Les opinions des autres sur vous ne définissent pas vous , elles définir les

Est-ce que l'utilisation de la documentation en tant que développeur me fait paraître non professionnel?

Non ... compétence pour faire le travail. On se moque de vous parce que vos collègues sont des brutes, pas à cause de quelque chose que vous faites de mal.

"Un chirurgien ne peut pas lire ses livres à chaque fois qu'il doit opérer un patient."

Pourquoi pas? Je suis sceptique quant à cette affirmation à moins qu'il y ait un manque de temps inhabituel. Utiliser du matériel de référence ne prend que quelques secondes.

si je dois écrire du code pendant une entrevue pour un autre travail, je suppose que vous ne devriez pas utiliser la documentation

Cela dépend sur les règles de l'entretien, certains le permettent, d'autres non. En particulier, s'il s'agit d'un test, il peut être autorisé. C'est une bonne idée de vérifier d'abord!

Cette réponse n'ajoute rien de nouveau aux réponses déjà existantes.N'oubliez pas de [ne pas répéter les autres] (http://meta.workplace.stackexchange.com/questions/255/faq-proposal-back-it-up-and-dont-repeat-others).
@DavidK Pas d'accord.Où quelqu'un d'autre fait-il valoir "Les opinions des autres sur vous ne vous définissent pas, elles ne font que les définir"
@BradThomas Prenez-le de quelqu'un qui a également été critiqué pour des réponses répétitives ... la sagesse anecdotique n'est pas considérée comme une information supplémentaire, quand quelque chose est mieux laissé en commentaire, laissez-le comme un commentaire


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...